From 4b5e39c574f874969abbb484423fb72d093bbf24 Mon Sep 17 00:00:00 2001 From: pascal Date: Thu, 9 Apr 2026 13:25:27 +0200 Subject: [PATCH] use alternative translator --- go.mod | 2 +- management/server/telemetry/app_metrics.go | 3 ++- proxy/internal/metrics/metrics_test.go | 3 ++- proxy/server.go | 3 ++- shared/metrics/metrics.go | 3 ++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index a95192600..8ec1c3112 100644 --- a/go.mod +++ b/go.mod @@ -86,6 +86,7 @@ require ( github.com/pires/go-proxyproto v0.11.0 github.com/pkg/sftp v1.13.9 github.com/prometheus/client_golang v1.23.2 + github.com/prometheus/otlptranslator v1.0.0 github.com/quic-go/quic-go v0.55.0 github.com/redis/go-redis/v9 v9.7.3 github.com/rs/xid v1.3.0 @@ -254,7 +255,6 @@ require ( github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/common v0.67.5 // indirect - github.com/prometheus/otlptranslator v1.0.0 // indirect github.com/prometheus/procfs v0.19.2 // indirect github.com/russellhaering/goxmldsig v1.5.0 // indirect github.com/rymdport/portal v0.4.2 // indirect diff --git a/management/server/telemetry/app_metrics.go b/management/server/telemetry/app_metrics.go index 7fab1d3a5..be990f331 100644 --- a/management/server/telemetry/app_metrics.go +++ b/management/server/telemetry/app_metrics.go @@ -10,6 +10,7 @@ import ( "github.com/gorilla/mux" prometheus2 "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/prometheus/otlptranslator" log "github.com/sirupsen/logrus" "go.opentelemetry.io/otel/exporters/prometheus" metric2 "go.opentelemetry.io/otel/metric" @@ -207,7 +208,7 @@ func (appMetrics *defaultAppMetrics) GetMeter() metric2.Meter { // NewDefaultAppMetrics and expose them via defaultEndpoint on a given HTTP port func NewDefaultAppMetrics(ctx context.Context) (AppMetrics, error) { exporter, err := prometheus.New( - prometheus.WithoutUnits(), + prometheus.WithTranslationStrategy(otlptranslator.UnderscoreEscapingWithoutSuffixes), ) if err != nil { return nil, fmt.Errorf("failed to create prometheus exporter: %w", err) diff --git a/proxy/internal/metrics/metrics_test.go b/proxy/internal/metrics/metrics_test.go index 40459d434..8ad04bd65 100644 --- a/proxy/internal/metrics/metrics_test.go +++ b/proxy/internal/metrics/metrics_test.go @@ -8,6 +8,7 @@ import ( "testing" "github.com/google/go-cmp/cmp" + "github.com/prometheus/otlptranslator" "go.opentelemetry.io/otel/exporters/prometheus" "go.opentelemetry.io/otel/sdk/metric" @@ -52,7 +53,7 @@ func TestMetrics_RoundTripper(t *testing.T) { } exporter, err := prometheus.New( - prometheus.WithoutUnits(), + prometheus.WithTranslationStrategy(otlptranslator.UnderscoreEscapingWithoutSuffixes), ) if err != nil { t.Fatalf("create prometheus exporter: %v", err) diff --git a/proxy/server.go b/proxy/server.go index ac8a9db75..a623529a0 100644 --- a/proxy/server.go +++ b/proxy/server.go @@ -27,6 +27,7 @@ import ( "github.com/pires/go-proxyproto" prometheus2 "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/prometheus/otlptranslator" log "github.com/sirupsen/logrus" "go.opentelemetry.io/otel/exporters/prometheus" "go.opentelemetry.io/otel/sdk/metric" @@ -237,7 +238,7 @@ func (s *Server) ListenAndServe(ctx context.Context, addr string) (err error) { s.lastMappings = make(map[types.ServiceID]*proto.ProxyMapping) exporter, err := prometheus.New( - prometheus.WithoutUnits(), + prometheus.WithTranslationStrategy(otlptranslator.UnderscoreEscapingWithoutSuffixes), ) if err != nil { return fmt.Errorf("create prometheus exporter: %w", err) diff --git a/shared/metrics/metrics.go b/shared/metrics/metrics.go index 7afe238cb..68d8bffa6 100644 --- a/shared/metrics/metrics.go +++ b/shared/metrics/metrics.go @@ -8,6 +8,7 @@ import ( prometheus2 "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/prometheus/otlptranslator" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/prometheus" api "go.opentelemetry.io/otel/metric" @@ -28,7 +29,7 @@ type Metrics struct { // NewServer initializes and returns a new Metrics instance func NewServer(port int, endpoint string) (*Metrics, error) { exporter, err := prometheus.New( - prometheus.WithoutUnits(), + prometheus.WithTranslationStrategy(otlptranslator.UnderscoreEscapingWithoutSuffixes), ) if err != nil { return nil, err