From 2b61fb6e4a85b4ccbff2b7050e1ca52a6f2340b3 Mon Sep 17 00:00:00 2001 From: Yuri Tseretyan Date: Mon, 9 Jan 2023 10:08:58 -0500 Subject: [PATCH] Test Datasource: do not use global random (#61116) --- pkg/tsdb/testdatasource/scenarios.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/tsdb/testdatasource/scenarios.go b/pkg/tsdb/testdatasource/scenarios.go index 07349c9bf84..bfffb798e72 100644 --- a/pkg/tsdb/testdatasource/scenarios.go +++ b/pkg/tsdb/testdatasource/scenarios.go @@ -13,6 +13,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/data" + "github.com/grafana/grafana/pkg/components/simplejson" ) @@ -651,6 +652,7 @@ func (s *Service) handleLogsScenario(ctx context.Context, req *backend.QueryData } func RandomWalk(query backend.DataQuery, model *simplejson.Json, index int) *data.Frame { + rand := rand.New(rand.NewSource(time.Now().UnixNano())) timeWalkerMs := query.TimeRange.From.UnixNano() / int64(time.Millisecond) to := query.TimeRange.To.UnixNano() / int64(time.Millisecond) startValue := model.Get("startValue").MustFloat64(rand.Float64() * 100) @@ -703,6 +705,7 @@ func RandomWalk(query backend.DataQuery, model *simplejson.Json, index int) *dat } func randomWalkTable(query backend.DataQuery, model *simplejson.Json) *data.Frame { + rand := rand.New(rand.NewSource(time.Now().UnixNano())) timeWalkerMs := query.TimeRange.From.UnixNano() / int64(time.Millisecond) to := query.TimeRange.To.UnixNano() / int64(time.Millisecond) withNil := model.Get("withNil").MustBool(false) @@ -915,6 +918,7 @@ func predictablePulse(query backend.DataQuery, model *simplejson.Json) (*data.Fr } func randomHeatmapData(query backend.DataQuery, fnBucketGen func(index int) float64) *data.Frame { + rand := rand.New(rand.NewSource(time.Now().UnixNano())) frame := data.NewFrame("data", data.NewField("time", nil, []*time.Time{})) for i := 0; i < 10; i++ { frame.Fields = append(frame.Fields, data.NewField(strconv.FormatInt(int64(fnBucketGen(i)), 10), nil, []*float64{}))