const ddtRangeCentiPeriods … const ddtOffsetCentiPeriods … const numIterations … var errMetricNotFound … func TestTimingRatioHistogramVecElementSimple(t *testing.T) { … } func TestTimingRatioHistogramVecElementSafeEarly(t *testing.T) { … } func TestTimingRatioHistogramVecElementSafeLate(t *testing.T) { … } // exerciseTimingRatioHistogram does a rough behavioral test of a // RatioedObserver. A fake clock is used, and the exercise consists // of repeatedly changing that fake clock by an amount of time chosen // uniformly at random from a range that goes from a little negative // to somewhat more than two milliseconds. The negative changes are // included because small negative changes have been observed in real // monotonic clock readings (see issue #96459) and we want to test // that they are properly tolerated. The designed toleration is to // pretend that the clock did not change, until it resumes net forward // progress. The exercise checks that the count in the observer is // correct at each step. The observer is expected to get one // observation at the end of each nanosecond. func exerciseTimingRatioHistogram(t *testing.T, histogramName string, t0 time.Time, clk *testclock.FakePassiveClock, registry compbasemetrics.KubeRegistry, tro RatioedGauge) { … } /* getHistogramCount returns the count of the named histogram or an error (if any) */ func getHistogramCount(registry compbasemetrics.KubeRegistry, metricName string) (int64, error) { … } func BenchmarkTimingRatioHistogram(b *testing.B) { … } func BenchmarkTimingRatioHistogramVecElementSimple(b *testing.B) { … } func BenchmarkTimingRatioHistogramVecElementSafeEarly(b *testing.B) { … } func BenchmarkTimingRatioHistogramVecElementSafeLate(b *testing.B) { … }