aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp/stats/stat_segment.h
diff options
context:
space:
mode:
authorArthur de Kerhor <arthurdekerhor@gmail.com>2021-03-11 10:26:54 -0800
committerOle Tr�an <otroan@employees.org>2021-05-04 16:29:29 +0000
commitdb023809043f1dc64ed8c30dd5a575763df6045b (patch)
treeeace5cdd59301a33872e312dd59bb9d2a24b8820 /src/vpp/stats/stat_segment.h
parent78b0a6e3f6e8644ebd06273f53b2440748ba34f4 (diff)
stats: adding symlinks for nodes and interfaces in the stat segment
A given interface counter (e.g rx) can be accessed via /interfaces/<interface_name>/<counter_name>. Same goes with nodes: /nodes/<node_name>/<counter_name> As interfaces may contain '/' in their names, these are replaced by '_' in symlinks Also added 2 tests for the stat segment Type: feature Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Change-Id: I27da252e7b3dc177815616ca46b5c200a456bf0f Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vpp/stats/stat_segment.h')
-rw-r--r--src/vpp/stats/stat_segment.h39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/vpp/stats/stat_segment.h b/src/vpp/stats/stat_segment.h
index a048fa5b8ca..1d1ff31c294 100644
--- a/src/vpp/stats/stat_segment.h
+++ b/src/vpp/stats/stat_segment.h
@@ -40,23 +40,28 @@ typedef enum
STAT_COUNTERS
} stat_segment_counter_t;
-#define foreach_stat_segment_counter_name \
- _(VECTOR_RATE, SCALAR_INDEX, vector_rate, /sys) \
- _(VECTOR_RATE_PER_WORKER, COUNTER_VECTOR_SIMPLE, \
- vector_rate_per_worker, /sys) \
- _(NUM_WORKER_THREADS, SCALAR_INDEX, num_worker_threads, /sys) \
- _(INPUT_RATE, SCALAR_INDEX, input_rate, /sys) \
- _(LAST_UPDATE, SCALAR_INDEX, last_update, /sys) \
- _(LAST_STATS_CLEAR, SCALAR_INDEX, last_stats_clear, /sys) \
- _(HEARTBEAT, SCALAR_INDEX, heartbeat, /sys) \
- _(NODE_CLOCKS, COUNTER_VECTOR_SIMPLE, clocks, /sys/node) \
- _(NODE_VECTORS, COUNTER_VECTOR_SIMPLE, vectors, /sys/node) \
- _(NODE_CALLS, COUNTER_VECTOR_SIMPLE, calls, /sys/node) \
- _(NODE_SUSPENDS, COUNTER_VECTOR_SIMPLE, suspends, /sys/node) \
- _(INTERFACE_NAMES, NAME_VECTOR, names, /if) \
- _(NODE_NAMES, NAME_VECTOR, names, /sys/node) \
- _(MEM_STATSEG_TOTAL, SCALAR_INDEX, total, /mem/statseg) \
- _(MEM_STATSEG_USED, SCALAR_INDEX, used, /mem/statseg)
+/* clang-format off */
+#define foreach_stat_segment_node_counter_name \
+ _ (NODE_CLOCKS, COUNTER_VECTOR_SIMPLE, clocks, /sys/node) \
+ _ (NODE_VECTORS, COUNTER_VECTOR_SIMPLE, vectors, /sys/node) \
+ _ (NODE_CALLS, COUNTER_VECTOR_SIMPLE, calls, /sys/node) \
+ _ (NODE_SUSPENDS, COUNTER_VECTOR_SIMPLE, suspends, /sys/node)
+
+#define foreach_stat_segment_counter_name \
+ _ (VECTOR_RATE, SCALAR_INDEX, vector_rate, /sys) \
+ _ (VECTOR_RATE_PER_WORKER, COUNTER_VECTOR_SIMPLE, vector_rate_per_worker, \
+ /sys) \
+ _ (NUM_WORKER_THREADS, SCALAR_INDEX, num_worker_threads, /sys) \
+ _ (INPUT_RATE, SCALAR_INDEX, input_rate, /sys) \
+ _ (LAST_UPDATE, SCALAR_INDEX, last_update, /sys) \
+ _ (LAST_STATS_CLEAR, SCALAR_INDEX, last_stats_clear, /sys) \
+ _ (HEARTBEAT, SCALAR_INDEX, heartbeat, /sys) \
+ _ (INTERFACE_NAMES, NAME_VECTOR, names, /if) \
+ _ (NODE_NAMES, NAME_VECTOR, names, /sys/node) \
+ _ (MEM_STATSEG_TOTAL, SCALAR_INDEX, total, /mem/statseg) \
+ _ (MEM_STATSEG_USED, SCALAR_INDEX, used, /mem/statseg) \
+ foreach_stat_segment_node_counter_name
+/* clang-format on */
/* Default stat segment 32m */
#define STAT_SEGMENT_DEFAULT_SIZE (32<<20)