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

Function TestIngesterMetadata

integration/ingester_metadata_test.go:19–77  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

17)
18
19func TestIngesterMetadata(t *testing.T) {
20 s, err := e2e.NewScenario(networkName)
21 require.NoError(t, err)
22 defer s.Close()
23
24 // Start dependencies.
25 consul := e2edb.NewConsul()
26 require.NoError(t, s.StartAndWaitReady(consul))
27
28 baseFlags := mergeFlags(AlertmanagerLocalFlags(), BlocksStorageFlags())
29
30 minio := e2edb.NewMinio(9000, baseFlags["-blocks-storage.s3.bucket-name"])
31 require.NoError(t, s.StartAndWaitReady(minio))
32
33 flags := mergeFlags(baseFlags, map[string]string{
34 // alert manager
35 "-alertmanager.web.external-url": "http://localhost/alertmanager",
36 // consul
37 "-ring.store": "consul",
38 "-consul.hostname": consul.NetworkHTTPEndpoint(),
39 })
40
41 // Start Cortex components
42 distributor := e2ecortex.NewDistributor("distributor", e2ecortex.RingStoreConsul, consul.NetworkHTTPEndpoint(), flags, "")
43 ingester := e2ecortex.NewIngester("ingester", e2ecortex.RingStoreConsul, consul.NetworkHTTPEndpoint(), flags, "")
44 querier := e2ecortex.NewQuerier("querier", e2ecortex.RingStoreConsul, consul.NetworkHTTPEndpoint(), flags, "")
45 require.NoError(t, s.StartAndWaitReady(distributor, ingester, querier))
46
47 // Wait until distributor has updated the ring.
48 require.NoError(t, distributor.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_ring_members"}, e2e.WithLabelMatchers(
49 labels.MustNewMatcher(labels.MatchEqual, "name", "ingester"),
50 labels.MustNewMatcher(labels.MatchEqual, "state", "ACTIVE"))))
51
52 // Wait until querier has updated the ring.
53 require.NoError(t, querier.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_ring_members"}, e2e.WithLabelMatchers(
54 labels.MustNewMatcher(labels.MatchEqual, "name", "ingester"),
55 labels.MustNewMatcher(labels.MatchEqual, "state", "ACTIVE"))))
56
57 client, err := e2ecortex.NewClient(distributor.HTTPEndpoint(), querier.HTTPEndpoint(), "", "", userID)
58 require.NoError(t, err)
59
60 metadataMetricNum := 5
61 metadataPerMetrics := 2
62 metadata := make([]prompb.MetricMetadata, 0, metadataMetricNum)
63 for i := 0; i < metadataMetricNum; i++ {
64 for j := 0; j < metadataPerMetrics; j++ {
65 metadata = append(metadata, prompb.MetricMetadata{
66 MetricFamilyName: fmt.Sprintf("metadata_name_%d", i),
67 Help: fmt.Sprintf("metadata_help_%d_%d", i, j),
68 Unit: fmt.Sprintf("metadata_unit_%d_%d", i, j),
69 })
70 }
71 }
72 res, err := client.Push(nil, metadata...)
73 require.NoError(t, err)
74 require.Equal(t, 200, res.StatusCode)
75
76 testMetadataQueryParams(t, client, metadataMetricNum, metadataPerMetrics)

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
StartAndWaitReadyMethod · 0.95
PushMethod · 0.95
NewScenarioFunction · 0.92
NewDistributorFunction · 0.92
NewIngesterFunction · 0.92
NewQuerierFunction · 0.92
EqualsFunction · 0.92
WithLabelMatchersFunction · 0.92
NewClientFunction · 0.92
testMetadataQueryParamsFunction · 0.85
NetworkHTTPEndpointMethod · 0.80

Tested by

no test coverage detected