vlib: increase the stats epoch only when necessary 93/30693/7
authorMiklos Tirpak <miklos.tirpak@gmail.com>
Tue, 12 Jan 2021 14:14:02 +0000 (15:14 +0100)
committerOle Tr�an <otroan@employees.org>
Thu, 4 Feb 2021 09:56:54 +0000 (09:56 +0000)
commit38fae310843b7431136f40bfa8cf7c6bec59450f
tree6a45176f8a5782f23bc4a579a14d3ad3646e7d37
parent15cb3dac874bcec701a33723467b81a53a6fc4d3
vlib: increase the stats epoch only when necessary

When the counter vectors are validated and they are already long enough
to fit the given index in memory, there is no need to increase the stats
segment epoch. In this case, the counter vectors do not change as a
result of the validation.

This optimization is necessary for the case when the configuration is
changed at multiple thousands per second rate. The counter vectors grow
at the beginning and their size stabilizes after a while. Without this
improvement, it can still take several seconds for a stats reader to
succeed.

Type: improvement
Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: I5a6c30255832716a1460018d0bd0f63031de102b
src/plugins/unittest/CMakeLists.txt
src/plugins/unittest/counter_test.c [new file with mode: 0644]
src/vlib/counter.c
src/vlib/test/test_counters.py [new file with mode: 0644]