B3 compatibility 69/142769/1 master
authorFiete Ostkamp <fiete.ostkamp@telekom.de>
Mon, 15 Dec 2025 16:53:16 +0000 (17:53 +0100)
committerFiete Ostkamp <fiete.ostkamp@telekom.de>
Mon, 15 Dec 2025 16:53:16 +0000 (17:53 +0100)
- 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 <fiete.ostkamp@telekom.de>
src/k8splugin/go.mod
src/k8splugin/go.sum
src/k8splugin/internal/tracing/tracing.go

index 81fc5c3..c6dc23b 100644 (file)
@@ -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
index 6cbaf5c..2e965f9 100644 (file)
@@ -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=
index 0184f57..0baa1be 100644 (file)
@@ -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
 }