MCPcopy
hub / github.com/grafana/tempo / simulateLatency

Function simulateLatency

pkg/traceql/fake_data.go:86–102  ·  view source on GitHub ↗

simulateLatency sleeps for the specified duration with optional standard deviation

(duration time.Duration, stdDev time.Duration)

Source from the content-addressed store, hash-verified

84
85// simulateLatency sleeps for the specified duration with optional standard deviation
86func simulateLatency(duration time.Duration, stdDev time.Duration) {
87 if stdDev > 0 {
88 variation := time.Duration(rand.NormFloat64() * float64(stdDev)) //nolint:gosec // G404
89 // possibility of having a crazy big number is never a zero
90 // capping to 3 sigmas (0.3% possibility)
91 if variation > 3*stdDev {
92 variation = 3 * stdDev
93 } else if variation < -3*stdDev {
94 variation = -3 * stdDev
95 }
96 duration += variation
97 }
98 if duration <= 0 {
99 return
100 }
101 time.Sleep(duration)
102}

Callers 2

ExecuteSearchMethod · 0.85
TestSimulateLatencyFunction · 0.85

Calls 2

DurationMethod · 0.80
SleepMethod · 0.65

Tested by 1

TestSimulateLatencyFunction · 0.68