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);
+ if (!vb[i]->cpu_supports || vb[i]->cpu_supports ())
+ vlib_cli_output (vm, "%U\n", format_perfmon_bundle, vb[i], verbose);
vec_free (vb);
return 0;
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);
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;
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);
}
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);