Vendor main dependencies.
This commit is contained in:
parent
49a09ab7dd
commit
dd5e3fba01
2738 changed files with 1045689 additions and 0 deletions
28
vendor/github.com/go-kit/kit/metrics/timer.go
generated
vendored
Normal file
28
vendor/github.com/go-kit/kit/metrics/timer.go
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
package metrics
|
||||
|
||||
import "time"
|
||||
|
||||
// Timer acts as a stopwatch, sending observations to a wrapped histogram.
|
||||
// It's a bit of helpful syntax sugar for h.Observe(time.Since(x)).
|
||||
type Timer struct {
|
||||
h Histogram
|
||||
t time.Time
|
||||
}
|
||||
|
||||
// NewTimer wraps the given histogram and records the current time.
|
||||
func NewTimer(h Histogram) *Timer {
|
||||
return &Timer{
|
||||
h: h,
|
||||
t: time.Now(),
|
||||
}
|
||||
}
|
||||
|
||||
// ObserveDuration captures the number of seconds since the timer was
|
||||
// constructed, and forwards that observation to the histogram.
|
||||
func (t *Timer) ObserveDuration() {
|
||||
d := time.Since(t.t).Seconds()
|
||||
if d < 0 {
|
||||
d = 0
|
||||
}
|
||||
t.h.Observe(d)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue