From c0c4881b9ae23a6fea808c4a55d79d88e7446414 Mon Sep 17 00:00:00 2001 From: Dennis Leon Date: Tue, 7 Nov 2017 16:34:27 -0800 Subject: [PATCH] Prevent data race error when Recording a benchmark value from multiple go routines --- internal/leafnodes/benchmarker.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/leafnodes/benchmarker.go b/internal/leafnodes/benchmarker.go index 9c3eed2b6..d6d54234c 100644 --- a/internal/leafnodes/benchmarker.go +++ b/internal/leafnodes/benchmarker.go @@ -35,15 +35,15 @@ func (b *benchmarker) Time(name string, body func(), info ...interface{}) (elaps } func (b *benchmarker) RecordValue(name string, value float64, info ...interface{}) { - measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", "", 3, info...) b.mu.Lock() + measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", "", 3, info...) defer b.mu.Unlock() measurement.Results = append(measurement.Results, value) } func (b *benchmarker) RecordValueWithPrecision(name string, value float64, units string, precision int, info ...interface{}) { - measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", units, precision, info...) b.mu.Lock() + measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", units, precision, info...) defer b.mu.Unlock() measurement.Results = append(measurement.Results, value) }