diff --git a/internal/converter/internal/otelcolconvert/converter.go b/internal/converter/internal/otelcolconvert/converter.go index 4939289f8b4d..70f2e4cc72dd 100644 --- a/internal/converter/internal/otelcolconvert/converter.go +++ b/internal/converter/internal/otelcolconvert/converter.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/grafana/agent/internal/converter/diag" + "github.com/grafana/agent/internal/converter/internal/common" "github.com/grafana/river/token/builder" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/otelcol" @@ -130,7 +131,8 @@ func (state *state) flowLabelForComponent(c component.InstanceID) string { if componentName == "" { componentName = defaultLabel } - return fmt.Sprintf("%s_%s", groupName, componentName) + identifier := fmt.Sprintf("%s_%s", groupName, componentName) + return common.SanitizeIdentifierPanics(identifier) } } diff --git a/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.river b/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.river index 07665b91f2ef..ad20c4553708 100644 --- a/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.river +++ b/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.river @@ -32,18 +32,18 @@ otelcol.connector.spanmetrics "default" { } } -otelcol.exporter.otlp "foo_metrics_backend_two" { +otelcol.exporter.otlp "_2_metrics_backend_2" { client { endpoint = "database:54317" } } -otelcol.connector.spanmetrics "foo_default" { +otelcol.connector.spanmetrics "_2_default" { histogram { explicit { } } output { - metrics = [otelcol.exporter.otlp.foo_metrics_backend_two.input] + metrics = [otelcol.exporter.otlp._2_metrics_backend_2.input] } } diff --git a/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.yaml b/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.yaml index b2ebe10cfabf..b5222d0efa16 100644 --- a/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.yaml +++ b/internal/converter/internal/otelcolconvert/testdata/spanmetrics_full.yaml @@ -21,7 +21,7 @@ exporters: sending_queue: queue_size: 5000 - otlp/metrics_backend_two: + otlp/metrics_backend/2: # Our defaults have drifted from upstream, so we explicitly set our # defaults below (balancer_name and queue_size). endpoint: database:54317 @@ -42,7 +42,7 @@ service: metrics: receivers: [spanmetrics] exporters: [otlp/metrics_backend] - metrics/foo: + metrics/2: receivers: [spanmetrics] - exporters: [otlp/metrics_backend_two] + exporters: [otlp/metrics_backend/2]