MCPcopy
hub / github.com/prometheus/prometheus / TestWALMetadataDelivery

Function TestWALMetadataDelivery

storage/remote/queue_manager_test.go:348–389  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

346}
347
348func TestWALMetadataDelivery(t *testing.T) {
349 dir := t.TempDir()
350 s := NewStorage(nil, nil, nil, dir, defaultFlushDeadline, nil, false)
351 defer s.Close()
352
353 cfg := config.DefaultQueueConfig
354 cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond)
355 cfg.MaxShards = 1
356
357 writeConfig := baseRemoteWriteConfig("http://test-storage.com")
358 writeConfig.QueueConfig = cfg
359 writeConfig.ProtobufMessage = remoteapi.WriteV2MessageType
360
361 conf := &config.Config{
362 GlobalConfig: config.DefaultGlobalConfig,
363 RemoteWriteConfigs: []*config.RemoteWriteConfig{
364 writeConfig,
365 },
366 }
367
368 n := 3
369 recs := testwal.GenerateRecords(recCase{Series: n, SamplesPerSeries: n})
370
371 require.NoError(t, s.ApplyConfig(conf))
372 hash, err := toHash(writeConfig)
373 require.NoError(t, err)
374 qm := s.rws.queues[hash]
375
376 c := NewTestWriteClient(remoteapi.WriteV2MessageType)
377 qm.SetClient(c)
378
379 qm.StoreSeries(recs.Series, 0)
380 qm.StoreMetadata(recs.Metadata)
381
382 require.Len(t, qm.seriesLabels, n)
383 require.Len(t, qm.seriesMetadata, n)
384
385 c.expectSamples(recs.Samples, recs.Series)
386 c.expectMetadataForBatch(recs.Metadata, recs.Series, recs.Samples, nil, nil, nil)
387 qm.Append(recs.Samples)
388 c.waitForExpectedData(t, 30*time.Second)
389}
390
391func TestSampleDeliveryTimeout(t *testing.T) {
392 t.Parallel()

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
ApplyConfigMethod · 0.95
expectSamplesMethod · 0.95
waitForExpectedDataMethod · 0.95
GenerateRecordsFunction · 0.92
NewStorageFunction · 0.85
baseRemoteWriteConfigFunction · 0.85
toHashFunction · 0.85
NewTestWriteClientFunction · 0.85
DurationMethod · 0.80
SetClientMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…