aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2024-03-11 12:26:35 -0700
committerStephen Hemminger <stephen@networkplumber.org>2024-03-13 10:07:33 -0700
commitfc4226d2475ad0acb201d388a93d3892320a6878 (patch)
tree129130298ffe4aec75c4ef13d9c549e7c9f8848d
parentf31afe64d6d8ce8c722c95a25a9146d0deceed59 (diff)
downloadiproute2-next-fc4226d2475ad0acb201d388a93d3892320a6878.tar.gz
tc: support JSON for legacy stats
The extended stats already supported JSON output, add to the legacy stats as well. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r--tc/tc_util.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/tc/tc_util.c b/tc/tc_util.c
index c293643dc..a347a2d50 100644
--- a/tc/tc_util.c
+++ b/tc/tc_util.c
@@ -799,28 +799,30 @@ void print_tcstats_attr(FILE *fp, struct rtattr *tb[], const char *prefix,
memcpy(&st, RTA_DATA(tb[TCA_STATS]),
MIN(RTA_PAYLOAD(tb[TCA_STATS]), sizeof(st)));
- fprintf(fp,
- "%sSent %llu bytes %u pkts (dropped %u, overlimits %u) ",
- prefix, (unsigned long long)st.bytes,
- st.packets, st.drops, st.overlimits);
+ print_string(PRINT_FP, NULL, "%s", prefix);
+ print_lluint(PRINT_ANY, "bytes", "Sent %llu bytes",
+ (unsigned long long)st.bytes);
+ print_uint(PRINT_ANY, "packets", " %u pkts", st.packets);
+ print_uint(PRINT_ANY, "dropped", " (dropped %u,", st.drops);
+ print_uint(PRINT_ANY, "overlimits", " overlimits %u) ", st.overlimits);
if (st.bps || st.pps || st.qlen || st.backlog) {
- fprintf(fp, "\n%s", prefix);
+ print_nl();
+ print_string(PRINT_FP, NULL, "%s", prefix);
+
if (st.bps || st.pps) {
- fprintf(fp, "rate ");
+ print_string(PRINT_FP, NULL, "rate ", NULL);
if (st.bps)
- tc_print_rate(PRINT_FP, NULL, "%s ",
- st.bps);
+ tc_print_rate(PRINT_ANY, "rate", "%s ", st.bps);
if (st.pps)
- fprintf(fp, "%upps ", st.pps);
+ print_uint(PRINT_ANY, "pps", "%upps ", st.pps);
}
if (st.qlen || st.backlog) {
- fprintf(fp, "backlog ");
+ print_string(PRINT_FP, NULL, "backlog ", NULL);
if (st.backlog)
- print_size(PRINT_FP, NULL, "%s ",
- st.backlog);
+ print_size(PRINT_ANY, "backlog", "%s ", st.backlog);
if (st.qlen)
- fprintf(fp, "%up ", st.qlen);
+ print_uint(PRINT_ANY, "qlen", "%up ", st.qlen);
}
}
}