@@ -6,19 +6,21 @@ import (
66)
77
88// SummaryStats is a data structure that carries a summary of observed values.
9- // The average, minimum, and maximum are reported.
109type SummaryStats struct {
11- Avg int64 `metric:"avg" type:"gauge"`
12- Min int64 `metric:"min" type:"gauge"`
13- Max int64 `metric:"max" type:"gauge"`
10+ Avg int64 `metric:"avg" type:"gauge"`
11+ Min int64 `metric:"min" type:"gauge"`
12+ Max int64 `metric:"max" type:"gauge"`
13+ Count int64 `metric:"count" type:"counter"`
14+ Sum int64 `metric:"sum" type:"counter"`
1415}
1516
16- // DurationStats is a data structure that carries a summary of observed duration
17- // values. The average, minimum, and maximum are reported.
17+ // DurationStats is a data structure that carries a summary of observed duration values.
1818type DurationStats struct {
19- Avg time.Duration `metric:"avg" type:"gauge"`
20- Min time.Duration `metric:"min" type:"gauge"`
21- Max time.Duration `metric:"max" type:"gauge"`
19+ Avg time.Duration `metric:"avg" type:"gauge"`
20+ Min time.Duration `metric:"min" type:"gauge"`
21+ Max time.Duration `metric:"max" type:"gauge"`
22+ Count int64 `metric:"count" type:"counter"`
23+ Sum time.Duration `metric:"sum" type:"counter"`
2224}
2325
2426// counter is an atomic incrementing counter which gets reset on snapshot.
@@ -167,17 +169,21 @@ func (s *summary) snapshot() SummaryStats {
167169 }
168170
169171 return SummaryStats {
170- Avg : avg ,
171- Min : min ,
172- Max : max ,
172+ Avg : avg ,
173+ Min : min ,
174+ Max : max ,
175+ Count : count ,
176+ Sum : sum ,
173177 }
174178}
175179
176180func (s * summary ) snapshotDuration () DurationStats {
177181 summary := s .snapshot ()
178182 return DurationStats {
179- Avg : time .Duration (summary .Avg ),
180- Min : time .Duration (summary .Min ),
181- Max : time .Duration (summary .Max ),
183+ Avg : time .Duration (summary .Avg ),
184+ Min : time .Duration (summary .Min ),
185+ Max : time .Duration (summary .Max ),
186+ Count : summary .Count ,
187+ Sum : time .Duration (summary .Sum ),
182188 }
183189}
0 commit comments