vlib: calculate per-worker loops/second metric 17/25217/5
authorDave Barach <dave@barachs.net>
Mon, 17 Feb 2020 22:07:12 +0000 (17:07 -0500)
committerFlorin Coras <florin.coras@gmail.com>
Tue, 18 Feb 2020 18:42:22 +0000 (18:42 +0000)
commit000a029e4a6a481f35b978dfe474c82d8da88e95
tree287b547c120b95f6b93dc9e2556fc68e52b82cf1
parentff19e3bf4fc10d17e3bafa798e6048ad473c6bd8
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 <dave@barachs.net>
Change-Id: I9aea5dd5fecfaefffb78245316adb4bf62eb2bd4
src/vlib/main.c
src/vlib/main.h
src/vlib/node_cli.c