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

Function ValidateMetricName

pkg/util/validation/validate.go:282–294  ·  view source on GitHub ↗

ValidateMetricName checks that ls has a valid non-empty metric name when limits.EnforceMetricName is true. It returns (nil, "") when valid, or (error, discardReason) when invalid. Callers should increment DiscardedSamples/DiscardedExemplars with the returned reason when non-empty.

(limits *Limits, ls []cortexpb.LabelAdapter, nameValidationScheme model.ValidationScheme)

Source from the content-addressed store, hash-verified

280// It returns (nil, "") when valid, or (error, discardReason) when invalid.
281// Callers should increment DiscardedSamples/DiscardedExemplars with the returned reason when non-empty.
282func ValidateMetricName(limits *Limits, ls []cortexpb.LabelAdapter, nameValidationScheme model.ValidationScheme) (ValidationError, string) {
283 if !limits.EnforceMetricName {
284 return nil, ""
285 }
286 unsafeMetricName, err := extract.UnsafeMetricNameFromLabelAdapters(ls)
287 if err != nil {
288 return newNoMetricNameError(), missingMetricName
289 }
290 if !nameValidationScheme.IsValidMetricName(unsafeMetricName) {
291 return newInvalidMetricNameError(unsafeMetricName), invalidMetricName
292 }
293 return nil, ""
294}
295
296// ValidateLabels returns an err if the labels are invalid.
297// The returned error may retain the provided series labels.

Callers 2

prepareSeriesKeysMethod · 0.92
TestValidateMetricNameFunction · 0.85

Calls 3

newNoMetricNameErrorFunction · 0.85

Tested by 1

TestValidateMetricNameFunction · 0.68