X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=examples%2Fstats-api%2Fstats_api.go;h=f74a055bf51dfa0764348db31914d4985452aa1f;hb=cca1d2b85f68ec11d5131dc53313f250391818a3;hp=9808243d0057dbec9ebd4fbac227286de49235a3;hpb=e24215b47ad5cd6599973c3a76a375b99ad75d44;p=govpp.git diff --git a/examples/stats-api/stats_api.go b/examples/stats-api/stats_api.go index 9808243..f74a055 100644 --- a/examples/stats-api/stats_api.go +++ b/examples/stats-api/stats_api.go @@ -40,7 +40,7 @@ var ( func init() { flag.Usage = func() { - fmt.Fprintf(os.Stderr, "%s: usage [ls|dump|errors|interfaces|nodes|system] ...\n", os.Args[0]) + fmt.Fprintf(os.Stderr, "%s: usage [ls|dump|errors|interfaces|nodes|system|buffers] ...\n", os.Args[0]) flag.PrintDefaults() os.Exit(1) } @@ -52,7 +52,7 @@ func main() { cmd := flag.Arg(0) switch cmd { - case "", "ls", "dump", "errors", "interfaces", "nodes", "system": + case "", "ls", "dump", "errors", "interfaces", "nodes", "system", "buffers": default: flag.Usage() } @@ -79,16 +79,21 @@ func main() { log.Fatalln("getting system stats failed:", err) } fmt.Printf("System stats: %+v\n", stats) + case "nodes": fmt.Println("Listing node stats..") stats, err := c.GetNodeStats() if err != nil { log.Fatalln("getting node stats failed:", err) } - for _, iface := range stats.Nodes { - fmt.Printf(" - %+v\n", iface) + for _, node := range stats.Nodes { + if node.Calls == 0 && node.Suspends == 0 && node.Clocks == 0 && node.Vectors == 0 && skipZeros { + continue + } + fmt.Printf(" - %+v\n", node) } fmt.Printf("Listed %d node counters\n", len(stats.Nodes)) + case "interfaces": fmt.Println("Listing interface stats..") stats, err := c.GetInterfaceStats() @@ -99,6 +104,7 @@ func main() { fmt.Printf(" - %+v\n", iface) } fmt.Printf("Listed %d interface counters\n", len(stats.Interfaces)) + case "errors": fmt.Printf("Listing error stats.. %s\n", strings.Join(patterns, " ")) stats, err := c.GetErrorStats(patterns...) @@ -114,6 +120,14 @@ func main() { n++ } fmt.Printf("Listed %d (%d) error counters\n", n, len(stats.Errors)) + + case "buffers": + stats, err := c.GetBufferStats() + if err != nil { + log.Fatalln("getting buffer stats failed:", err) + } + fmt.Printf("Buffer stats: %+v\n", stats) + case "dump": dumpStats(client, patterns, skipZeros) default: