in pkg/allow/allow_labels.go [34:62]
func (a Labels) Allowed(metric string, labels, values []string) ([]string, []string) {
allowedLabels, ok := a[metric]
if !ok {
var defaultsPresent bool
for metricReg, lbls := range defaultMetricLabels {
if metricReg.MatchString(metric) {
allowedLabels = append(allowedLabels, lbls...)
defaultsPresent = true
}
}
if !defaultsPresent {
return labels, values
}
}
var finalLabels, finalValues []string
labelSet := labelSet(allowedLabels)
for _, allowedLabel := range labelSet {
for i, label := range labels {
if label == allowedLabel {
finalLabels = append(finalLabels, label)
finalValues = append(finalValues, values[i])
}
}
}
return finalLabels, finalValues
}