From 15eea18d9b0a82dbf02214d521cb85b8ae7fadce Mon Sep 17 00:00:00 2001 From: jaffee Date: Thu, 1 Dec 2016 15:46:41 -0700 Subject: [PATCH] add option to save all stats --- bench/stats.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/bench/stats.go b/bench/stats.go index 0c1b027cf..704192422 100644 --- a/bench/stats.go +++ b/bench/stats.go @@ -5,19 +5,25 @@ import ( ) type Stats struct { - Min time.Duration - Max time.Duration - Total time.Duration - Num int64 + Min time.Duration + Max time.Duration + Total time.Duration + Num int64 + All []time.Duration + SaveAll bool } func NewStats() *Stats { return &Stats{ Min: 1<<63 - 1, + All: make([]time.Duration, 0), } } func (s *Stats) Add(td time.Duration) { + if s.SaveAll { + s.All = append(s.All, td) + } s.Num += 1 s.Total += td if td < s.Min { @@ -36,4 +42,7 @@ func AddToResults(s *Stats, results map[string]interface{}) { results["min"] = s.Min results["max"] = s.Max results["avg"] = s.Avg() + if s.SaveAll { + results["all"] = s.All + } }