{{- define "statefulset.processor.filter" -}}
otelcol.processor.filter "drop_unneeded_span_metrics" {
  // https://grafana.com/docs/alloy/latest/reference/components/otelcol.processor.filter/
  error_mode = "ignore"

  metrics {
    datapoint = [
      "IsMatch(metric.name, \"traces.spanmetrics.calls|traces.spanmetrics.duration\") and IsMatch(attributes[\"span.kind\"], \"SPAN_KIND_INTERNAL|SPAN_KIND_CLIENT|SPAN_KIND_PRODUCER\")",
    ]
  }

  output {
    // TODO: only use grafana_metric_names is legacy is enabled.
    {{ if .Values.metricsGeneration.legacy }}
        metrics = [otelcol.processor.transform.use_grafana_metric_names.input]
    {{ else }}
        metrics = [otelcol.processor.batch.default.input]
    {{- end }}
  }
}

{{ end }}
