From 000a029e4a6a481f35b978dfe474c82d8da88e95 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 17 Feb 2020 17:07:12 -0500 Subject: vlib: calculate per-worker loops/second metric Use exponential smoothing. Each sample has a half-life of 1 second. reported_rate(t) = reported_rate(t-1) * K + rate(t)*(1-K) Sample every 20ms, i.e. 50 samples per second K = exp (-1.0/20.0); K = 0.95; Type: feature Signed-off-by: Dave Barach Change-Id: I9aea5dd5fecfaefffb78245316adb4bf62eb2bd4 --- src/vlib/node_cli.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/vlib/node_cli.c') diff --git a/src/vlib/node_cli.c b/src/vlib/node_cli.c index bf18702d582..1ba0575f182 100644 --- a/src/vlib/node_cli.c +++ b/src/vlib/node_cli.c @@ -442,11 +442,12 @@ show_node_runtime (vlib_main_t * vm, dt = time_now - nm->time_last_runtime_stats_clear; vlib_cli_output (vm, - "Time %.1f, %f sec internal node vector rate %.2f \n" + "Time %.1f, %f sec internal node vector rate %.2f loops/sec %.2f\n" " vector rates in %.4e, out %.4e, drop %.4e, punt %.4e", dt, vlib_get_stat_segment_update_rate (), internal_node_vector_rates[j], + stat_vm->loops_per_second, (f64) n_input / dt, (f64) n_output / dt, (f64) n_drop / dt, (f64) n_punt / dt); -- cgit 1.2.3-korg