From 9a7525668d13aa5803557779c45c5fb641786a7b Mon Sep 17 00:00:00 2001 From: Katie Hockman Date: Tue, 22 Nov 2022 13:22:00 -0500 Subject: [PATCH 1/2] support b3multi alias for b3 header --- ddtrace/tracer/textmap.go | 2 +- ddtrace/tracer/textmap_test.go | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ddtrace/tracer/textmap.go b/ddtrace/tracer/textmap.go index 3373dbcfb9..139714a27b 100644 --- a/ddtrace/tracer/textmap.go +++ b/ddtrace/tracer/textmap.go @@ -185,7 +185,7 @@ func getPropagators(cfg *PropagatorConfig, env string) []Propagator { switch strings.ToLower(v) { case "datadog": list = append(list, dd) - case "b3": + case "b3", "b3multi": if !cfg.B3 { // propagatorB3 hasn't already been added, add a new one. list = append(list, &propagatorB3{}) diff --git a/ddtrace/tracer/textmap_test.go b/ddtrace/tracer/textmap_test.go index e2d7c699af..81b4325a6d 100644 --- a/ddtrace/tracer/textmap_test.go +++ b/ddtrace/tracer/textmap_test.go @@ -355,9 +355,9 @@ func TestTextMapPropagator(t *testing.T) { }) } -func TestB3(t *testing.T) { +func testB3(t *testing.T, b3Header string) { t.Run("inject", func(t *testing.T) { - os.Setenv("DD_PROPAGATION_STYLE_INJECT", "B3") + os.Setenv("DD_PROPAGATION_STYLE_INJECT", b3Header) defer os.Unsetenv("DD_PROPAGATION_STYLE_INJECT") var tests = []struct { @@ -409,7 +409,7 @@ func TestB3(t *testing.T) { }) t.Run("extract", func(t *testing.T) { - os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", "b3") + os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", b3Header) defer os.Unsetenv("DD_PROPAGATION_STYLE_EXTRACT") var tests = []struct { @@ -455,7 +455,7 @@ func TestB3(t *testing.T) { }) t.Run("multiple", func(t *testing.T) { - os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", "Datadog,B3") + os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", fmt.Sprintf("Datadog,%v", b3Header)) defer os.Unsetenv("DD_PROPAGATION_STYLE_EXTRACT") b3Headers := TextMapCarrier(map[string]string{ @@ -496,6 +496,12 @@ func TestB3(t *testing.T) { assert.Equal(2, p) }) +} + +func TestB3(t *testing.T) { + testB3(t, "b3") + testB3(t, "b3multi") + t.Run("config", func(t *testing.T) { os.Setenv("DD_PROPAGATION_STYLE_INJECT", "datadog") defer os.Unsetenv("DD_PROPAGATION_STYLE_INJECT") From 4d4ee6099a049dd9803939d1d3ade4eea150b3ed Mon Sep 17 00:00:00 2001 From: Katie Hockman Date: Tue, 22 Nov 2022 17:36:42 -0500 Subject: [PATCH 2/2] Update ddtrace/tracer/textmap_test.go Co-authored-by: Andrew Glaude --- ddtrace/tracer/textmap_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddtrace/tracer/textmap_test.go b/ddtrace/tracer/textmap_test.go index 81b4325a6d..2c50c91bfb 100644 --- a/ddtrace/tracer/textmap_test.go +++ b/ddtrace/tracer/textmap_test.go @@ -455,7 +455,7 @@ func testB3(t *testing.T, b3Header string) { }) t.Run("multiple", func(t *testing.T) { - os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", fmt.Sprintf("Datadog,%v", b3Header)) + os.Setenv("DD_PROPAGATION_STYLE_EXTRACT", fmt.Sprintf("Datadog,%s", b3Header)) defer os.Unsetenv("DD_PROPAGATION_STYLE_EXTRACT") b3Headers := TextMapCarrier(map[string]string{