summaryrefslogtreecommitdiffstats
path: root/src/vlib
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2021-05-05 09:23:17 +0200
committerDamjan Marion <dmarion@me.com>2021-05-06 14:19:28 +0000
commita606d92107d4bf0107c3f54e2c87d39311f82075 (patch)
tree4f15911d2d86dbb5227194b9acc3fea50ccde55e /src/vlib
parentec34fb77231c9f601520d6a2eaa5aab8c54253a6 (diff)
stats: memory heap counters
- Add counters for the main-heap - Add additional counters per heap: STAT_MEM_TOTAL STAT_MEM_USED, STAT_MEM_FREE, STAT_MEM_USED_MMAP, STAT_MEM_TOTAL_ALLOC, STAT_MEM_FREE_CHUNKS, STAT_MEM_RELEASABLE, The per-heap counters are organised as a two dimensional vector. total, used and free are directly available via symlinks. vpp_get_stats ls "^/mem/" /mem/stat segment /mem/stat segment/total /mem/stat segment/used /mem/stat segment/free /mem/main heap /mem/main heap/total /mem/main heap/used /mem/main heap/free vpp_get_stats dump "^/mem/main\ heap$" [0 @ 0]: 1073741776 packets /mem/main heap [1 @ 0]: 91586688 packets /mem/main heap [2 @ 0]: 982155088 packets /mem/main heap [3 @ 0]: 0 packets /mem/main heap [4 @ 0]: 1073741776 packets /mem/main heap [5 @ 0]: 433 packets /mem/main heap [6 @ 0]: 981708688 packets /mem/main heap Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I36725dde3b4b3befd27a8b4d3ba931f2d3b627cc
Diffstat (limited to 'src/vlib')
-rw-r--r--src/vlib/stat_weak_inlines.h6
-rw-r--r--src/vlib/threads.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/vlib/stat_weak_inlines.h b/src/vlib/stat_weak_inlines.h
index a1311e864b3..a68566d0fdd 100644
--- a/src/vlib/stat_weak_inlines.h
+++ b/src/vlib/stat_weak_inlines.h
@@ -63,4 +63,10 @@ vlib_stats_delete_cm (void *notused)
{
}
+void vlib_stats_register_mem_heap (void *) __attribute__ ((weak));
+void
+vlib_stats_register_mem_heap (void *notused)
+{
+}
+
#endif
diff --git a/src/vlib/threads.c b/src/vlib/threads.c
index 7c796f5d0ea..499a626e470 100644
--- a/src/vlib/threads.c
+++ b/src/vlib/threads.c
@@ -654,6 +654,7 @@ start_workers (vlib_main_t * vm)
u32 n_vlib_mains = tm->n_vlib_mains;
u32 worker_thread_index;
clib_mem_heap_t *main_heap = clib_mem_get_per_cpu_heap ();
+ vlib_stats_register_mem_heap (main_heap);
vec_reset_length (vlib_worker_threads);