+static u8 *
+format_delay (u8 *s, va_list *args)
+{
+ f64 delay = va_arg (*args, f64);
+
+ if (delay < 1e-3)
+ s = format (s, "%.1f us", delay * 1e6);
+ else if (delay < 1)
+ s = format (s, "%.1f ms", delay * 1e3);
+ else
+ s = format (s, "%f sec", delay);
+
+ return s;
+}
+
+static u8 *
+format_bandwidth (u8 *s, va_list *args)
+{
+ f64 bandwidth = va_arg (*args, f64);
+
+ if (bandwidth >= 1e9)
+ s = format (s, "%.1f gbps", bandwidth / 1e9);
+ else if (bandwidth >= 1e6)
+ s = format (s, "%.1f mbps", bandwidth / 1e6);
+ else if (bandwidth >= 1e3)
+ s = format (s, "%.1f kbps", bandwidth / 1e3);
+ else
+ s = format (s, "%f bps", bandwidth);
+
+ return s;
+}
+