Skip to content

Commit b125e2e

Browse files
authored
Merge pull request #285 from form3tech-oss/nvloff-metrics-init-race
fix(metrics): fix race condition in metrics.Init()
2 parents f016ea2 + d2db6af commit b125e2e

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

internal/metrics/metrics.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ func Init(iterationMetricsEnabled bool) {
7979
}
8080
m = NewInstance(defaultRegistry, iterationMetricsEnabled)
8181
})
82-
m.IterationMetricsEnabled = iterationMetricsEnabled
8382
}
8483

8584
func Instance() *Metrics {

internal/metrics/metrics_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package metrics_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
8+
"github.com/form3tech-oss/f1/v2/internal/metrics"
9+
)
10+
11+
func TestMetrics_Init_IsSafe(t *testing.T) {
12+
t.Parallel()
13+
14+
metrics.Init(true)
15+
16+
// race detector assertion
17+
for range 10 {
18+
go func() {
19+
metrics.Init(false)
20+
}()
21+
}
22+
23+
assert.True(t, metrics.Instance().IterationMetricsEnabled)
24+
}

0 commit comments

Comments
 (0)