MCPcopy Create free account
hub / github.com/cortexproject/cortex / MetricsForLabelMatchers

Method MetricsForLabelMatchers

pkg/ingester/ingester.go:2107–2128  ·  view source on GitHub ↗

MetricsForLabelMatchers returns all the metrics which match a set of matchers.

(ctx context.Context, req *client.MetricsForLabelMatchersRequest)

Source from the content-addressed store, hash-verified

2105
2106// MetricsForLabelMatchers returns all the metrics which match a set of matchers.
2107func (i *Ingester) MetricsForLabelMatchers(ctx context.Context, req *client.MetricsForLabelMatchersRequest) (result *client.MetricsForLabelMatchersResponse, err error) {
2108 defer recoverIngester(i.logger, &err)
2109
2110 userID, userErr := users.TenantID(ctx)
2111 if userErr != nil {
2112 return nil, userErr
2113 }
2114
2115 // Set pprof labels for profiling
2116 pprof.Do(ctx, pprof.Labels("user", userID), func(ctx context.Context) {
2117 result = &client.MetricsForLabelMatchersResponse{}
2118 var cleanup func()
2119 cleanup, err = i.metricsForLabelMatchersCommon(ctx, req, func(l labels.Labels) error {
2120 result.Metric = append(result.Metric, &cortexpb.Metric{
2121 Labels: cortexpb.FromLabelsToLabelAdapters(l),
2122 })
2123 return nil
2124 })
2125 defer cleanup()
2126 })
2127 return result, err
2128}
2129
2130func (i *Ingester) MetricsForLabelMatchersStream(req *client.MetricsForLabelMatchersRequest, stream client.Ingester_MetricsForLabelMatchersStreamServer) (err error) {
2131 defer recoverIngester(i.logger, &err)

Callers

nothing calls this directly

Implementers 1

Ingesterpkg/ingester/ingester.go

Calls 7

TenantIDFunction · 0.92
recoverIngesterFunction · 0.85
cleanupFunction · 0.85
DoMethod · 0.65
LabelsMethod · 0.45

Tested by

no test coverage detected