X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fperfmon%2Fcli.c;h=1535570de7e9ccb75e0b0b969fdc48216d5555c5;hb=c3cb2075d;hp=39e0319603a7d9bc87a450ca1cffee7522987cf9;hpb=7e3862927ec0fd92a1237a9b4286aaf410f34166;p=vpp.git diff --git a/src/plugins/perfmon/cli.c b/src/plugins/perfmon/cli.c index 39e0319603a..1535570de7e 100644 --- a/src/plugins/perfmon/cli.c +++ b/src/plugins/perfmon/cli.c @@ -128,7 +128,9 @@ show_perfmon_bundle_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_output (vm, "%U\n", format_perfmon_bundle, 0, 0); for (int i = 0; i < vec_len (vb); i++) - vlib_cli_output (vm, "%U\n", format_perfmon_bundle, vb[i], verbose); + /* bundle type will be unknown if no cpu_supports matched */ + if (vb[i]->type != PERFMON_BUNDLE_TYPE_UNKNOWN) + vlib_cli_output (vm, "%U\n", format_perfmon_bundle, vb[i], verbose); vec_free (vb); return 0; @@ -274,23 +276,15 @@ show_perfmon_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, perfmon_instance_t *in; u8 *s = 0; int n_row = 0; - u8 raw = 0; if (b == 0) return clib_error_return (0, "no bundle selected"); - while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) - { - if (unformat (input, "raw")) - raw = 1; - else - break; - } - n_instances = vec_len (it->instances); vec_validate (readings, n_instances - 1); - for (int i = 0; i < n_instances; i++) + /*Only perform read() for THREAD or SYSTEM bundles*/ + for (int i = 0; i < n_instances && b->type != PERFMON_BUNDLE_TYPE_NODE; i++) { in = vec_elt_at_index (it->instances, i); r = vec_elt_at_index (readings, i); @@ -312,13 +306,6 @@ show_perfmon_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, char **hdr = b->column_headers; while (hdr[0]) table_format_cell (t, -1, n_row++, "%s", hdr++[0]); - - if (b->raw_column_headers && raw) - { - hdr = b->raw_column_headers; - while (hdr[0]) - table_format_cell (t, -1, n_row++, "%s", hdr++[0]); - } } int col = 0; @@ -326,7 +313,7 @@ show_perfmon_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, { in = vec_elt_at_index (it->instances, i); r = vec_elt_at_index (readings, i); - table_format_cell (t, col, -1, "%s", in->name); + table_format_cell (t, col, -1, "%s", in->name, b->type); if (b->type == PERFMON_BUNDLE_TYPE_NODE) { perfmon_thread_runtime_t *tr; @@ -336,18 +323,20 @@ show_perfmon_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, { perfmon_node_stats_t ns; table_format_cell (t, ++col, -1, "%U", format_vlib_node_name, - vm, j); + vm, j, b->type); table_set_cell_align (t, col, -1, TTAA_RIGHT); table_set_cell_fg_color (t, col, -1, TTAC_CYAN); clib_memcpy_fast (&ns, tr->node_stats + j, sizeof (ns)); + for (int j = 0; j < n_row; j++) - table_format_cell (t, col, j, "%U", b->format_fn, &ns, j); + table_format_cell (t, col, j, "%U", b->format_fn, &ns, j, + b->type); } } else { for (int j = 0; j < n_row; j++) - table_format_cell (t, i, j, "%U", b->format_fn, r, j); + table_format_cell (t, i, j, "%U", b->format_fn, r, j, b->type); } col++; } @@ -355,9 +344,6 @@ show_perfmon_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_output (vm, "%U\n", format_table, t); table_free (t); - if (raw) - vlib_cli_output (vm, "Sample time is %.4f seconds \n", pm->sample_time); - if (b->footer) vlib_cli_output (vm, "\n%s\n", b->footer);