From d70a6961d3ac5f0c8db59a12716079e3af84b46c Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 23 Jan 2019 23:57:39 +0000 Subject: Track and print bucket stats generically --- line-conf-buckets/line-conf-buckets.go | 35 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'line-conf-buckets') 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) } -- cgit v1.2.1-24-ge1ad