MCPcopy Index your code
hub / github.com/cortexproject/cortex / TestNativeHistogramFuzz

Function TestNativeHistogramFuzz

integration/query_fuzz_test.go:67–160  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

65}
66
67func TestNativeHistogramFuzz(t *testing.T) {
68 s, err := e2e.NewScenario(networkName)
69 require.NoError(t, err)
70 defer s.Close()
71
72 // Start dependencies.
73 consul := e2edb.NewConsulWithName("consul")
74 require.NoError(t, s.StartAndWaitReady(consul))
75
76 baseFlags := mergeFlags(AlertmanagerLocalFlags(), BlocksStorageFlags())
77 flags := mergeFlags(
78 baseFlags,
79 map[string]string{
80 "-blocks-storage.tsdb.head-compaction-interval": "4m",
81 "-blocks-storage.tsdb.block-ranges-period": "2h",
82 "-blocks-storage.tsdb.ship-interval": "1h",
83 "-blocks-storage.bucket-store.sync-interval": "1s",
84 "-blocks-storage.tsdb.retention-period": "24h",
85 "-blocks-storage.bucket-store.index-cache.backend": tsdb.IndexCacheBackendInMemory,
86 // Ingester.
87 "-ring.store": "consul",
88 "-consul.hostname": consul.NetworkHTTPEndpoint(),
89 // Distributor.
90 "-distributor.replication-factor": "1",
91 // alert manager
92 "-alertmanager.web.external-url": "http://localhost/alertmanager",
93 // Compactor.
94 "-compactor.cleanup-interval": "1s",
95 },
96 )
97 // make alert manager config dir
98 require.NoError(t, writeFileToSharedDir(s, "alertmanager_configs", []byte{}))
99
100 minio := e2edb.NewMinio(9000, flags["-blocks-storage.s3.bucket-name"])
101 require.NoError(t, s.StartAndWaitReady(minio))
102
103 cortex := e2ecortex.NewSingleBinary("cortex", flags, "")
104 require.NoError(t, s.StartAndWaitReady(cortex))
105
106 // Wait until Cortex replicas have updated the ring state.
107 require.NoError(t, cortex.WaitSumMetrics(e2e.Equals(float64(512)), "cortex_ring_tokens_total"))
108
109 now := time.Now()
110 start := now.Add(-time.Hour * 2)
111 end := now.Add(-time.Hour)
112 numSeries := 10
113 numSamples := 60
114 lbls := make([]labels.Labels, 0, numSeries*2)
115 scrapeInterval := time.Minute
116 statusCodes := []string{"200", "400", "404", "500", "502"}
117 for i := 0; i < numSeries; i++ {
118 lbls = append(lbls, labels.FromStrings(labels.MetricName, "test_series_a", "job", "test", "series", strconv.Itoa(i%3), "status_code", statusCodes[i%5]))
119 lbls = append(lbls, labels.FromStrings(labels.MetricName, "test_series_b", "job", "test", "series", strconv.Itoa((i+1)%3), "status_code", statusCodes[(i+1)%5]))
120 }
121
122 ctx := context.Background()
123 rnd := rand.New(rand.NewSource(time.Now().Unix()))
124

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
StartAndWaitReadyMethod · 0.95
SharedDirMethod · 0.95
NewScenarioFunction · 0.92
NewSingleBinaryFunction · 0.92
EqualsFunction · 0.92
NewS3ClientForMinioFunction · 0.92
NewUserBucketClientFunction · 0.92
CreateNHBlockFunction · 0.92
WithLabelMatchersFunction · 0.92
NewClientFunction · 0.92
NewPromQueryClientFunction · 0.92

Tested by

no test coverage detected