in transform/transformer.go [201:236]
func (f *RequestTransformer) ShouldDropMetric(v *prompb.TimeSeries, name []byte) bool {
if f.DefaultDropMetrics {
// Explicitly dropped metrics take precedence over explicitly kept metrics.
for _, r := range f.DropMetrics {
if r.Match(name) {
return true
}
}
for _, r := range f.KeepMetrics {
if r.Match(name) {
return false
}
}
if len(f.KeepMetricsWithLabelValue) > 0 {
for _, label := range v.Labels {
// Keep metrics that have a certain label
for lableRe, valueRe := range f.KeepMetricsWithLabelValue {
if lableRe.Match(label.Name) && valueRe.Match(label.Value) {
return false
}
}
}
}
return true
}
for _, r := range f.DropMetrics {
if r.Match(name) {
return true
}
}
return false
}