Skip to content

Commit 2109633

Browse files
authored
remove X-B3-ParentSpanId for B3 propagator as per OpenTelemetry Specification (#2237)
* remove X-B3-ParentSpanId for B3 propagator as per OpenTelemetry specification * revert changes - run tests * re-commit changes * add entry to CHANGELOG * remove ParentSpanId in B3SingleFormat
1 parent 10231d1 commit 2109633

File tree

4 files changed

+4
-20
lines changed

4 files changed

+4
-20
lines changed

Diff for: CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
- Add support for Python 3.10
1010
([#2207](https://github.com/open-telemetry/opentelemetry-python/pull/2207))
11+
- remove `X-B3-ParentSpanId` for B3 propagator as per OpenTelemetry specification
12+
([#2237](https://github.com/open-telemetry/opentelemetry-python/pull/2237))
1113

1214
## [1.6.2-0.25b2](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.2-0.25b2) - 2021-10-19
1315

Diff for: propagator/opentelemetry-propagator-b3/src/opentelemetry/propagators/b3/__init__.py

-13
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ class B3MultiFormat(TextMapPropagator):
4040
SINGLE_HEADER_KEY = "b3"
4141
TRACE_ID_KEY = "x-b3-traceid"
4242
SPAN_ID_KEY = "x-b3-spanid"
43-
PARENT_SPAN_ID_KEY = "x-b3-parentspanid"
4443
SAMPLED_KEY = "x-b3-sampled"
4544
FLAGS_KEY = "x-b3-flags"
4645
_SAMPLE_PROPAGATE_VALUES = set(["1", "True", "true", "d"])
@@ -149,21 +148,13 @@ def inject(
149148
setter.set(
150149
carrier, self.SPAN_ID_KEY, format_span_id(span_context.span_id)
151150
)
152-
span_parent = getattr(span, "parent", None)
153-
if span_parent is not None:
154-
setter.set(
155-
carrier,
156-
self.PARENT_SPAN_ID_KEY,
157-
format_span_id(span_parent.span_id),
158-
)
159151
setter.set(carrier, self.SAMPLED_KEY, "1" if sampled else "0")
160152

161153
@property
162154
def fields(self) -> typing.Set[str]:
163155
return {
164156
self.TRACE_ID_KEY,
165157
self.SPAN_ID_KEY,
166-
self.PARENT_SPAN_ID_KEY,
167158
self.SAMPLED_KEY,
168159
}
169160

@@ -195,10 +186,6 @@ def inject(
195186
"1" if sampled else "0",
196187
]
197188

198-
span_parent = getattr(span, "parent", None)
199-
if span_parent:
200-
fields.append(format_span_id(span_parent.span_id))
201-
202189
setter.set(carrier, self.SINGLE_HEADER_KEY, "-".join(fields))
203190

204191
@property

Diff for: propagator/opentelemetry-propagator-b3/tests/performance/benchmarks/trace/propagation/test_benchmark_b3_format.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def test_extract_single_header(benchmark):
2222
benchmark(
2323
FORMAT.extract,
2424
{
25-
FORMAT.SINGLE_HEADER_KEY: "bdb5b63237ed38aea578af665aa5aa60-c32d953d73ad2251-1-11fd79a30b0896cd285b396ae102dd76"
25+
FORMAT.SINGLE_HEADER_KEY: "bdb5b63237ed38aea578af665aa5aa60-c32d953d73ad2251-1"
2626
},
2727
)
2828

@@ -36,7 +36,6 @@ def test_inject_empty_context(benchmark):
3636
{
3737
FORMAT.TRACE_ID_KEY: "bdb5b63237ed38aea578af665aa5aa60",
3838
FORMAT.SPAN_ID_KEY: "00000000000000000c32d953d73ad225",
39-
FORMAT.PARENT_SPAN_ID_KEY: "11fd79a30b0896cd285b396ae102dd76",
4039
FORMAT.SAMPLED_KEY: "1",
4140
},
4241
)

Diff for: propagator/opentelemetry-propagator-b3/tests/test_b3_format.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ def setUpClass(cls):
6565
cls.serialized_span_id = trace_api.format_span_id(
6666
generator.generate_span_id()
6767
)
68-
cls.serialized_parent_id = trace_api.format_span_id(
69-
generator.generate_span_id()
70-
)
7168

7269
def setUp(self) -> None:
7370
tracer_provider = trace.TracerProvider()
@@ -103,7 +100,6 @@ def test_extract_multi_header(self):
103100
context = {
104101
propagator.TRACE_ID_KEY: self.serialized_trace_id,
105102
propagator.SPAN_ID_KEY: self.serialized_span_id,
106-
propagator.PARENT_SPAN_ID_KEY: self.serialized_parent_id,
107103
propagator.SAMPLED_KEY: "1",
108104
}
109105
child, parent, _ = self.get_child_parent_new_carrier(context)
@@ -142,7 +138,7 @@ def test_extract_single_header(self):
142138

143139
child, parent, _ = self.get_child_parent_new_carrier(
144140
{
145-
propagator.SINGLE_HEADER_KEY: f"{self.serialized_trace_id}-{self.serialized_span_id}-1-{self.serialized_parent_id}"
141+
propagator.SINGLE_HEADER_KEY: f"{self.serialized_trace_id}-{self.serialized_span_id}-1"
146142
}
147143
)
148144

0 commit comments

Comments
 (0)