X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2Fapp%2Fvpp_get_stats.c;h=d13e4d9b2b22cb2e20de04e5d8b73f90bc57fc07;hb=92d0eacefbc4991e3e42010b6b0cb625eddcfe40;hp=c1a5acb797cd1b25292760312cdbc71ac5d37fce;hpb=58492a83722caf1c49977d73abf931418ce1f8f2;p=vpp.git diff --git a/src/vpp/app/vpp_get_stats.c b/src/vpp/app/vpp_get_stats.c index c1a5acb797c..d13e4d9b2b2 100644 --- a/src/vpp/app/vpp_get_stats.c +++ b/src/vpp/app/vpp_get_stats.c @@ -19,7 +19,6 @@ #include #include -#include static int stat_poll_loop (u8 ** patterns) @@ -81,13 +80,18 @@ stat_poll_loop (u8 ** patterns) break; case STAT_DIR_TYPE_ERROR_INDEX: - fformat (stdout, "%llu %s\n", res[i].error_value, res[i].name); + for (j = 0; j < vec_len (res[i].error_vector); j++) + fformat (stdout, "%llu %s\n", res[i].error_vector[j], + res[i].name); break; case STAT_DIR_TYPE_SCALAR_INDEX: fformat (stdout, "%.2f %s\n", res[i].scalar_value, res[i].name); break; + case STAT_DIR_TYPE_EMPTY: + break; + default: printf ("Unknown value\n"); ; @@ -193,7 +197,9 @@ reconnect: switch (res[i].type) { case STAT_DIR_TYPE_COUNTER_VECTOR_SIMPLE: - for (k = 0; k < vec_len (res[i].simple_counter_vec) - 1; k++) + if (res[i].simple_counter_vec == 0) + continue; + for (k = 0; k < vec_len (res[i].simple_counter_vec); k++) for (j = 0; j < vec_len (res[i].simple_counter_vec[k]); j++) fformat (stdout, "[%d @ %d]: %llu packets %s\n", j, k, res[i].simple_counter_vec[k][j], @@ -201,6 +207,8 @@ reconnect: break; case STAT_DIR_TYPE_COUNTER_VECTOR_COMBINED: + if (res[i].combined_counter_vec == 0) + continue; for (k = 0; k < vec_len (res[i].combined_counter_vec); k++) for (j = 0; j < vec_len (res[i].combined_counter_vec[k]); j++) fformat (stdout, "[%d @ %d]: %llu packets, %llu bytes %s\n", @@ -210,13 +218,27 @@ reconnect: break; case STAT_DIR_TYPE_ERROR_INDEX: - fformat (stdout, "%llu %s\n", res[i].error_value, res[i].name); + for (j = 0; j < vec_len (res[i].error_vector); j++) + fformat (stdout, "[@%d] %llu %s\n", j, res[i].error_vector[j], + res[i].name); break; case STAT_DIR_TYPE_SCALAR_INDEX: fformat (stdout, "%.2f %s\n", res[i].scalar_value, res[i].name); break; + case STAT_DIR_TYPE_NAME_VECTOR: + if (res[i].name_vector == 0) + continue; + for (k = 0; k < vec_len (res[i].name_vector); k++) + if (res[i].name_vector[k]) + fformat (stdout, "[%d]: %s %s\n", k, res[i].name_vector[k], + res[i].name); + break; + + case STAT_DIR_TYPE_EMPTY: + break; + default: ; }