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

Function convertV2ToV1Metadata

pkg/util/push/push.go:284–317  ·  view source on GitHub ↗
(name string, symbols []string, metadata cortexpb.MetadataV2)

Source from the content-addressed store, hash-verified

282}
283
284func convertV2ToV1Metadata(name string, symbols []string, metadata cortexpb.MetadataV2) (*cortexpb.MetricMetadata, error) {
285 t := cortexpb.UNKNOWN
286
287 switch metadata.Type {
288 case cortexpb.METRIC_TYPE_COUNTER:
289 t = cortexpb.COUNTER
290 case cortexpb.METRIC_TYPE_GAUGE:
291 t = cortexpb.GAUGE
292 case cortexpb.METRIC_TYPE_HISTOGRAM:
293 t = cortexpb.HISTOGRAM
294 case cortexpb.METRIC_TYPE_GAUGEHISTOGRAM:
295 t = cortexpb.GAUGEHISTOGRAM
296 case cortexpb.METRIC_TYPE_SUMMARY:
297 t = cortexpb.SUMMARY
298 case cortexpb.METRIC_TYPE_INFO:
299 t = cortexpb.INFO
300 case cortexpb.METRIC_TYPE_STATESET:
301 t = cortexpb.STATESET
302 }
303
304 if int(metadata.UnitRef) >= len(symbols) {
305 return nil, fmt.Errorf("invalid UnitRef %d: exceeds symbols length %d", metadata.UnitRef, len(symbols))
306 }
307 if int(metadata.HelpRef) >= len(symbols) {
308 return nil, fmt.Errorf("invalid HelpRef %d: exceeds symbols length %d", metadata.HelpRef, len(symbols))
309 }
310
311 return &cortexpb.MetricMetadata{
312 Type: t,
313 MetricFamilyName: name,
314 Unit: symbols[metadata.UnitRef],
315 Help: symbols[metadata.HelpRef],
316 }, nil
317}
318
319func convertV2ToV1Exemplars(b *labels.ScratchBuilder, symbols []string, v2Exemplars []cortexpb.ExemplarV2) ([]cortexpb.Exemplar, error) {
320 v1Exemplars := make([]cortexpb.Exemplar, 0, len(v2Exemplars))

Calls

no outgoing calls