Skip to content

Commit e46afa4

Browse files
authored
Merge branch 'main' into grpc-exporter-env-headers
2 parents 6765ba6 + 8f2209f commit e46afa4

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

packages/opentelemetry-context-async-hooks/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"@types/mocha": "8.2.2",
4545
"@types/node": "14.14.43",
4646
"@types/shimmer": "1.0.1",
47-
"codecov": "^3.8.2",
47+
"codecov": "3.8.2",
4848
"mocha": "7.2.0",
4949
"nyc": "15.1.0",
5050
"rimraf": "3.0.2",

packages/opentelemetry-propagator-b3/src/B3Propagator.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,10 @@ export class B3Propagator implements TextMapPropagator {
6161
}
6262

6363
extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {
64-
if (getter.get(carrier, B3_CONTEXT_HEADER)) {
64+
const header = getter.get(carrier, B3_CONTEXT_HEADER);
65+
const b3Context = Array.isArray(header) ? header[0] : header;
66+
67+
if (b3Context) {
6568
return this._b3SinglePropagator.extract(context, carrier, getter);
6669
} else {
6770
return this._b3MultiPropagator.extract(context, carrier, getter);

packages/opentelemetry-propagator-b3/test/B3Propagator.test.ts

+25
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,31 @@ describe('B3Propagator', () => {
152152
});
153153
});
154154

155+
it('extracts multi header b3 using array getter', () => {
156+
const context = propagator.extract(
157+
ROOT_CONTEXT,
158+
b3MultiCarrier,
159+
{
160+
get(carrier, key) {
161+
if (carrier == null || carrier[key] === undefined) {
162+
return [];
163+
}
164+
return [carrier[key]];
165+
},
166+
167+
keys: defaultTextMapGetter.keys
168+
}
169+
);
170+
171+
const extractedSpanContext = trace.getSpanContext(context);
172+
assert.deepStrictEqual(extractedSpanContext, {
173+
spanId: '6e0c63257de34c92',
174+
traceId: 'd4cda95b652f4a1592b449d5929fda1b',
175+
isRemote: true,
176+
traceFlags: TraceFlags.SAMPLED,
177+
});
178+
});
179+
155180
it('extracts single header over multi', () => {
156181
const context = propagator.extract(
157182
ROOT_CONTEXT,

renovate.json

+5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
{
1010
"matchPackageNames": ["@opentelemetry/api"],
1111
"rangeStrategy": "bump"
12+
},
13+
{
14+
"matchPaths": ["backwards-compatibility/**"],
15+
"matchPackageNames": ["@types/node"],
16+
"enabled": false
1217
}
1318
],
1419
"ignoreDeps": ["gcp-metadata", "got", "mocha", "husky", "karma-webpack"],

0 commit comments

Comments
 (0)