X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcmd%2Fnncp-stat%2Fmain.go;h=09cc63b66e8157ef7e51847b16bf290e21a758d6;hb=2ddf5ecd4af39298d7e210448cca7b6456408778;hp=22eaca0af5376a54198a7dfaf9fa5dcaa1b3f142;hpb=622e37f1efb48a710f5bf68aaa059f594a7d4a8e;p=nncp.git diff --git a/src/cmd/nncp-stat/main.go b/src/cmd/nncp-stat/main.go index 22eaca0..09cc63b 100644 --- a/src/cmd/nncp-stat/main.go +++ b/src/cmd/nncp-stat/main.go @@ -32,12 +32,23 @@ import ( func usage() { fmt.Fprintf(os.Stderr, nncp.UsageHeader()) fmt.Fprintf(os.Stderr, "nncp-stat -- show queued Rx/Tx stats\n\n") - fmt.Fprintf(os.Stderr, "Usage: %s [options]\nOptions:\n", os.Args[0]) + fmt.Fprintf(os.Stderr, "Usage: %s [options] [-pkt] [-node NODE]\nOptions:\n", os.Args[0]) flag.PrintDefaults() } +func jobPrint(xx nncp.TRxTx, job nncp.Job) { + fmt.Printf( + "\t%s %s %s (nice: %s)\n", + string(xx), + nncp.ToBase32(job.HshValue[:]), + humanize.IBytes(uint64(job.Size)), + nncp.NicenessFmt(job.PktEnc.Nice), + ) +} + func main() { var ( + showPkt = flag.Bool("pkt", false, "Show packets listing") cfgPath = flag.String("cfg", nncp.DefaultCfgPath, "Path to configuration file") nodeRaw = flag.String("node", "", "Process only that node") spoolPath = flag.String("spool", "", "Override path to spool") @@ -84,10 +95,14 @@ func main() { if nodeOnly != nil && *node.Id != *nodeOnly.Id { continue } + fmt.Println(node.Name) rxNums := make(map[uint8]int) rxBytes := make(map[uint8]int64) for job := range ctx.Jobs(node.Id, nncp.TRx) { job.Fd.Close() + if *showPkt { + jobPrint(nncp.TRx, job) + } rxNums[job.PktEnc.Nice] = rxNums[job.PktEnc.Nice] + 1 rxBytes[job.PktEnc.Nice] = rxBytes[job.PktEnc.Nice] + job.Size } @@ -95,10 +110,12 @@ func main() { txBytes := make(map[uint8]int64) for job := range ctx.Jobs(node.Id, nncp.TTx) { job.Fd.Close() + if *showPkt { + jobPrint(nncp.TRx, job) + } txNums[job.PktEnc.Nice] = txNums[job.PktEnc.Nice] + 1 txBytes[job.PktEnc.Nice] = txBytes[job.PktEnc.Nice] + job.Size } - fmt.Println(node.Name) var nice uint8 for nice = 1; nice > 0; nice++ { rxNum, rxExists := rxNums[nice]