Skip to content

Commit 58d1fd1

Browse files
committed
change default propagation styles to begin with W3C
1 parent 36d1b60 commit 58d1fd1

File tree

2 files changed

+19
-22
lines changed

2 files changed

+19
-22
lines changed

src/datadog/tracer_config.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ struct TracerConfig {
6363
// All styles indicated by `injection_styles` are used for injection.
6464
// `injection_styles` is overridden by the `DD_TRACE_PROPAGATION_STYLE_INJECT`
6565
// and `DD_TRACE_PROPAGATION_STYLE` environment variables.
66-
std::vector<PropagationStyle> injection_styles = {PropagationStyle::DATADOG};
66+
std::vector<PropagationStyle> injection_styles = {PropagationStyle::W3C,
67+
PropagationStyle::DATADOG};
6768

6869
// `extraction_styles` indicates with which tracing systems trace propagation
6970
// will be compatible when extracting (receiving) trace context.
@@ -73,7 +74,8 @@ struct TracerConfig {
7374
// `extraction_styles` is overridden by the
7475
// `DD_TRACE_PROPAGATION_STYLE_EXTRACT` and `DD_TRACE_PROPAGATION_STYLE`
7576
// environment variables.
76-
std::vector<PropagationStyle> extraction_styles = {PropagationStyle::DATADOG};
77+
std::vector<PropagationStyle> extraction_styles = {PropagationStyle::W3C,
78+
PropagationStyle::DATADOG};
7779

7880
// `report_hostname` indicates whether the tracer will include the result of
7981
// `gethostname` with traces sent to the collector.

test/test_tracer_config.cpp

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,17 @@ TEST_CASE("TracerConfig propagation styles") {
976976
TracerConfig config;
977977
config.defaults.service = "testsvc";
978978

979+
SECTION("default styles are [W3C, Datadog]") {
980+
auto finalized = finalize_config(config);
981+
REQUIRE(finalized);
982+
983+
const std::vector<PropagationStyle> expected_styles = {
984+
PropagationStyle::W3C, PropagationStyle::DATADOG};
985+
986+
REQUIRE(finalized->injection_styles == expected_styles);
987+
REQUIRE(finalized->extraction_styles == expected_styles);
988+
}
989+
979990
SECTION("DD_TRACE_PROPAGATION_STYLE overrides defaults") {
980991
const EnvGuard guard{"DD_TRACE_PROPAGATION_STYLE", "B3"};
981992
auto finalized = finalize_config(config);
@@ -989,14 +1000,6 @@ TEST_CASE("TracerConfig propagation styles") {
9891000
}
9901001

9911002
SECTION("injection_styles") {
992-
SECTION("defaults to just Datadog") {
993-
auto finalized = finalize_config(config);
994-
REQUIRE(finalized);
995-
const std::vector<PropagationStyle> expected_styles = {
996-
PropagationStyle::DATADOG};
997-
REQUIRE(finalized->injection_styles == expected_styles);
998-
}
999-
10001003
SECTION("need at least one") {
10011004
config.injection_styles.clear();
10021005
auto finalized = finalize_config(config);
@@ -1089,14 +1092,6 @@ TEST_CASE("TracerConfig propagation styles") {
10891092

10901093
// This section is very much like "injection_styles", above.
10911094
SECTION("extraction_styles") {
1092-
SECTION("defaults to just Datadog") {
1093-
auto finalized = finalize_config(config);
1094-
REQUIRE(finalized);
1095-
const std::vector<PropagationStyle> expected_styles = {
1096-
PropagationStyle::DATADOG};
1097-
REQUIRE(finalized->extraction_styles == expected_styles);
1098-
}
1099-
11001095
SECTION("need at least one") {
11011096
config.extraction_styles.clear();
11021097
auto finalized = finalize_config(config);
@@ -1164,13 +1159,13 @@ TEST_CASE("TracerConfig propagation styles") {
11641159
// ts tse se tsi si
11651160
// --- --- --- --- ---
11661161
/* ts */{ x, true, true, true, true },
1167-
1162+
11681163
/* tse */{ x, x, true, false, false },
1169-
1164+
11701165
/* se */{ x, x, x, false, false },
1171-
1166+
11721167
/* tsi */{ x, x, x, x, true },
1173-
1168+
11741169
/* si */{ x, x, x, x, x },
11751170
};
11761171
// clang-format on

0 commit comments

Comments
 (0)