diff options
author | Nick White <git@njw.name> | 2019-01-23 23:57:39 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-01-23 23:57:39 +0000 |
commit | d70a6961d3ac5f0c8db59a12716079e3af84b46c (patch) | |
tree | a60f8b703a337d8f53c96d060f5b5615d0efef1b /line-conf-buckets/line-conf-buckets.go | |
parent | 367e95adee6a7efbbe85468ac180f06402873a2f (diff) |
Track and print bucket stats generically
Diffstat (limited to 'line-conf-buckets/line-conf-buckets.go')
-rw-r--r-- | line-conf-buckets/line-conf-buckets.go | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/line-conf-buckets/line-conf-buckets.go b/line-conf-buckets/line-conf-buckets.go index 65c85b8..bc4a1aa 100644 --- a/line-conf-buckets/line-conf-buckets.go +++ b/line-conf-buckets/line-conf-buckets.go @@ -6,12 +6,25 @@ import ( "fmt" "log" "os" - "sort" "git.rescribe.xyz/testingtools/parse" "git.rescribe.xyz/testingtools/parse/prob" ) +func lineDetails(f string) (parse.LineDetails, error) { + var newlines parse.LineDetails + + file, err := os.Open(f) + if err != nil { + return newlines, err + } + defer file.Close() + + reader := bufio.NewReader(file) + + return prob.GetLineDetails(f, reader) +} + func main() { flag.Usage = func() { fmt.Fprintf(os.Stderr, "Usage: line-conf-buckets prob1 [prob2] [...]\n") @@ -28,15 +41,7 @@ func main() { lines := make(parse.LineDetails, 0) for _, f := range flag.Args() { - file, err := os.Open(f) - if err != nil { - log.Fatal(err) - } - defer file.Close() - - reader := bufio.NewReader(file) - - newlines, err := prob.GetLineDetails(f, reader) + newlines, err := lineDetails(f) if err != nil { log.Fatal(err) } @@ -44,14 +49,8 @@ func main() { for _, l := range newlines { lines = append(lines, l) } - // explicitly close the file, so we can be sure we won't run out of - // handles before defer runs - file.Close() } - sort.Sort(lines) - - //var b parse.BucketSpecs b := parse.BucketSpecs{ { 0, "bad" }, { 0.95, "95to98" }, @@ -59,8 +58,10 @@ func main() { } // TODO: set bucket dirname from cmdline - err := parse.BucketUp(lines, b, "newbuckets") + stats, err := parse.BucketUp(lines, b, "newbuckets") if err != nil { log.Fatal(err) } + + parse.PrintBucketStats(os.Stdout, stats) } |