rpc: fix nanoseconds/microseconds mismatch in rpc metrics

This commit is contained in:
Martin Holst Swende 2023-12-06 13:49:02 +01:00
parent 55b483d82a
commit 3c9eb1276f
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0
2 changed files with 5 additions and 7 deletions

View file

@ -106,20 +106,18 @@ func (t *StandardTimer) Time(f func()) {
t.Update(time.Since(ts)) t.Update(time.Since(ts))
} }
// Record the duration of an event. // Record the duration of an event, in nanoseconds.
func (t *StandardTimer) Update(d time.Duration) { func (t *StandardTimer) Update(d time.Duration) {
t.mutex.Lock() t.mutex.Lock()
defer t.mutex.Unlock() defer t.mutex.Unlock()
t.histogram.Update(int64(d)) t.histogram.Update(d.Nanoseconds())
t.meter.Mark(1) t.meter.Mark(1)
} }
// Record the duration of an event that started at a time and ends now. // Record the duration of an event that started at a time and ends now.
// The record uses nanoseconds.
func (t *StandardTimer) UpdateSince(ts time.Time) { func (t *StandardTimer) UpdateSince(ts time.Time) {
t.mutex.Lock() t.Update(time.Since(ts))
defer t.mutex.Unlock()
t.histogram.Update(int64(time.Since(ts)))
t.meter.Mark(1)
} }
// timerSnapshot is a read-only copy of another Timer. // timerSnapshot is a read-only copy of another Timer.

View file

@ -46,5 +46,5 @@ func updateServeTimeHistogram(method string, success bool, elapsed time.Duration
metrics.NewExpDecaySample(1028, 0.015), metrics.NewExpDecaySample(1028, 0.015),
) )
} }
metrics.GetOrRegisterHistogramLazy(h, nil, sampler).Update(elapsed.Microseconds()) metrics.GetOrRegisterHistogramLazy(h, nil, sampler).Update(elapsed.Nanoseconds())
} }