Add propatation_stats binary
This commit is contained in:
parent
732b64efb8
commit
dfbbeb6d0c
|
@ -0,0 +1,2 @@
|
|||
propagation_stats
|
||||
propagation.json
|
|
@ -0,0 +1,10 @@
|
|||
# Propagation stats printer
|
||||
---
|
||||
|
||||
`propagation_stats` takes propagation log as an input and prints stats to standard output.
|
||||
|
||||
# Usage
|
||||
|
||||
```
|
||||
./propagation_stats [-i ./propagation.json]
|
||||
```
|
|
@ -0,0 +1,42 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/divan/graphx/formats"
|
||||
"github.com/status-im/simulation/propagation"
|
||||
"github.com/status-im/simulation/stats"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var (
|
||||
network = flag.String("n", "network.json", "Input filename for network graph data")
|
||||
plogFile = flag.String("p", "propagation.json", "Input filename for propagation log data")
|
||||
)
|
||||
flag.Parse()
|
||||
|
||||
data, err := formats.FromD3JSON(*network)
|
||||
if err != nil {
|
||||
log.Fatal("Opening network file failed: ", err)
|
||||
}
|
||||
log.Printf("Loaded network graph from %s file", *network)
|
||||
|
||||
fd, err := os.Open(*plogFile)
|
||||
if err != nil {
|
||||
log.Fatal("Opening propagation file failed: ", err)
|
||||
}
|
||||
defer fd.Close()
|
||||
log.Printf("Loaded propagation log from %s file", *plogFile)
|
||||
|
||||
plog := &propagation.Log{}
|
||||
err = json.NewDecoder(fd).Decode(&plog)
|
||||
if err != nil {
|
||||
log.Fatalf("Parsing propagation log failed: ", err)
|
||||
}
|
||||
|
||||
ss := stats.Analyze(plog, len(data.Nodes()), len(data.Links()))
|
||||
ss.PrintVerbose()
|
||||
}
|
Loading…
Reference in New Issue