summaryrefslogtreecommitdiff
path: root/line-conf-buckets/line-conf-buckets.go
diff options
context:
space:
mode:
authorNick White <git@njw.name>2019-01-23 23:57:39 +0000
committerNick White <git@njw.name>2019-01-23 23:57:39 +0000
commitd70a6961d3ac5f0c8db59a12716079e3af84b46c (patch)
treea60f8b703a337d8f53c96d060f5b5615d0efef1b /line-conf-buckets/line-conf-buckets.go
parent367e95adee6a7efbbe85468ac180f06402873a2f (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.go35
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)
}