diff options
| author | Lou Berger <lberger@labn.net> | 2018-08-28 16:54:07 -0400 |
|---|---|---|
| committer | Lou Berger <lberger@labn.net> | 2018-08-28 19:22:30 -0400 |
| commit | 13f1ba41a12a1a5298b0fb0021895284990aaf70 (patch) | |
| tree | fcc0d85f8c5cc45ecf4296d6808bb9263db42a8c /lib/memory_vty.c | |
| parent | 96487ee47875a8d47590e17343a4b373ef5adf9d (diff) | |
lib: qmem show changes (header and max)
add header to show qmem, align table with headers
add tracking of max # allocs and max bytes alloc'ed
Signed-off-by: Lou Berger <lberger@labn.net>
Diffstat (limited to 'lib/memory_vty.c')
| -rw-r--r-- | lib/memory_vty.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/lib/memory_vty.c b/lib/memory_vty.c index 9ee2e52ec7..73a18529a2 100644 --- a/lib/memory_vty.c +++ b/lib/memory_vty.c @@ -73,27 +73,45 @@ static int show_memory_mallinfo(struct vty *vty) static int qmem_walker(void *arg, struct memgroup *mg, struct memtype *mt) { struct vty *vty = arg; - if (!mt) + if (!mt) { vty_out(vty, "--- qmem %s ---\n", mg->name); - else { + vty_out(vty, "%-30s: %8s %-8s%s %8s %9s\n", + "Type", "Current#", " Size", +#ifdef HAVE_MALLOC_USABLE_SIZE + " Total", +#else + "", +#endif + "Max#", +#ifdef HAVE_MALLOC_USABLE_SIZE + "MaxBytes" +#else + "" +#endif + ); + } else { if (mt->n_alloc != 0) { char size[32]; snprintf(size, sizeof(size), "%6zu", mt->size); - #ifdef HAVE_MALLOC_USABLE_SIZE #define TSTR " %9zu" #define TARG , mt->total +#define TARG2 , mt->max_size #else #define TSTR "" #define TARG +#define TARG2 #endif - vty_out(vty, "%-30s: %10zu %-16s"TSTR"\n", mt->name, + vty_out(vty, "%-30s: %8zu %-8s"TSTR" %8zu"TSTR"\n", + mt->name, mt->n_alloc, mt->size == 0 ? "" : mt->size == SIZE_VAR - ? "(variably sized)" + ? "variable" : size - TARG); + TARG, + mt->n_max + TARG2); } } return 0; |
