From: Fiete Ostkamp Date: Mon, 15 Dec 2025 16:53:16 +0000 (+0100) Subject: B3 compatibility X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=HEAD;p=multicloud%2Fk8s.git B3 compatibility - add support to interpret B3 trace headers that are sent by services that use spring-cloud-sleuth for tracing Issue-ID: MULTICLOUD-1538 Change-Id: I483439288c5a9ea35a0358f14aa9379d2ed7644c Signed-off-by: Fiete Ostkamp --- diff --git a/src/k8splugin/go.mod b/src/k8splugin/go.mod index 81fc5c39..c6dc23bc 100644 --- a/src/k8splugin/go.mod +++ b/src/k8splugin/go.mod @@ -14,6 +14,7 @@ require ( go.mongodb.org/mongo-driver v1.7.5 go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.24.0 go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.24.0 + go.opentelemetry.io/contrib/propagators/b3 v0.24.0 // indirect go.opentelemetry.io/otel v1.2.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.2.0 go.opentelemetry.io/otel/sdk v1.2.0 diff --git a/src/k8splugin/go.sum b/src/k8splugin/go.sum index 6cbaf5c8..2e965f9b 100644 --- a/src/k8splugin/go.sum +++ b/src/k8splugin/go.sum @@ -964,6 +964,8 @@ go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.24 go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.24.0/go.mod h1:i17dTnrrhnn6pladwju5XEFOR3VVSg/R5X9KJuJlXFw= go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.24.0 h1:pCO7yWEdKfP9nv6ZukprhPrEBzWzIuVcQrTA4OTacnk= go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.24.0/go.mod h1:daRG55/5zjE1L8lQYZt8xgV9HNm5/Mxh+UDOfcisAbY= +go.opentelemetry.io/contrib/propagators/b3 v0.24.0 h1:pY3a0R/fP8Zrxcq6cQ3GtdtUGhNLjj5rEOZXG2BUWTA= +go.opentelemetry.io/contrib/propagators/b3 v0.24.0/go.mod h1:8zejVdED2pabka2VLti4kussRPFgSkRUv3JUSbljn1E= go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg= go.opentelemetry.io/otel v1.2.0 h1:YOQDvxO1FayUcT9MIhJhgMyNO1WqoduiyvQHzGN0kUQ= go.opentelemetry.io/otel v1.2.0/go.mod h1:aT17Fk0Z1Nor9e0uisf98LrntPGMnk4frBO9+dkf69I= diff --git a/src/k8splugin/internal/tracing/tracing.go b/src/k8splugin/internal/tracing/tracing.go index 0184f572..0baa1be9 100644 --- a/src/k8splugin/internal/tracing/tracing.go +++ b/src/k8splugin/internal/tracing/tracing.go @@ -17,6 +17,7 @@ package tracing import ( "context" + "go.opentelemetry.io/contrib/propagators/b3" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/propagation" @@ -56,7 +57,7 @@ func initTracerProvider() *sdktrace.TracerProvider { ) otel.SetTracerProvider(tp) - otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{})) + otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}, b3.New(b3.WithInjectEncoding(b3.B3MultipleHeader)))) return tp }