]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
tc : add timestamps to tc monitor
authorEric Dumazet <edumazet@google.com>
Wed, 23 Sep 2015 23:40:04 +0000 (16:40 -0700)
committerStephen Hemminger <shemming@brocade.com>
Fri, 25 Sep 2015 19:35:46 +0000 (12:35 -0700)
Support -timestamp and -tshort options for tc monitor like ip monitor.

# tc -tshort monitor
[2015-09-23T16:39:11.260555] qdisc fq 8003: dev eth0 root refcnt 2 limit
10000p flow_limit 100p buckets 1024 quantum 3028 initial_quantum 15140
refill_delay 40.0ms

Signed-off-by: Eric Dumazet <edumazet@google.com>
tc/tc.c
tc/tc_monitor.c

diff --git a/tc/tc.c b/tc/tc.c
index 46ff3714a2e9b687d2a7183fca8ed378faef5e47..17078676f631942a22484fab7d6da0eb8f6780d1 100644 (file)
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -36,6 +36,7 @@ int show_details = 0;
 int show_raw = 0;
 int show_pretty = 0;
 int show_graph = 0;
+int timestamp;
 
 int batch_mode = 0;
 int resolve_hosts = 0;
@@ -311,6 +312,11 @@ int main(int argc, char **argv)
                                matches(argv[1], "-conf") == 0) {
                        NEXT_ARG();
                        conf_file = argv[1];
+               } else if (matches(argv[1], "-timestamp") == 0) {
+                       timestamp++;
+               } else if (matches(argv[1], "-tshort") == 0) {
+                       ++timestamp;
+                       ++timestamp_short;
                } else {
                        fprintf(stderr, "Option \"%s\" is unknown, try \"tc -help\".\n", argv[1]);
                        return -1;
index cae3616145c8c5ce3a75c4c854e7381c86ab56e0..097068e91e51f865a3f9a5baa0c0c381a1e74198 100644 (file)
@@ -30,7 +30,7 @@ static void usage(void) __attribute__((noreturn));
 
 static void usage(void)
 {
-       fprintf(stderr, "Usage: tc monitor\n");
+       fprintf(stderr, "Usage: tc [-timestamp [-tshort] monitor\n");
        exit(-1);
 }
 
@@ -41,6 +41,9 @@ static int accept_tcmsg(const struct sockaddr_nl *who,
 {
        FILE *fp = (FILE*)arg;
 
+       if (timestamp)
+               print_timestamp(fp);
+
        if (n->nlmsg_type == RTM_NEWTFILTER || n->nlmsg_type == RTM_DELTFILTER) {
                print_filter(who, n, arg);
                return 0;