Skip to content

Commit

Permalink
Partial workaround for meter during a clock jump
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentbernat committed Jan 2, 2017
1 parent a7cba3c commit 735b61b
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions meter.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,13 @@ func (m *StandardMeter) Snapshot() Meter {
func (m *StandardMeter) updateSnapshot() {
// should run with write lock held on m.lock
snapshot := m.snapshot
snapshot.rate1 = m.a1.Rate()
snapshot.rate5 = m.a5.Rate()
snapshot.rate15 = m.a15.Rate()
snapshot.rateMean = float64(snapshot.count) / time.Since(m.startTime).Seconds()
elapsed := time.Since(m.startTime).Seconds()
if elapsed > 0 {
snapshot.rate1 = m.a1.Rate()
snapshot.rate5 = m.a5.Rate()
snapshot.rate15 = m.a15.Rate()
snapshot.rateMean = float64(snapshot.count) / elapsed
}
}

func (m *StandardMeter) tick() {
Expand Down

0 comments on commit 735b61b

Please sign in to comment.