func()

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
}