Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(sdk-trace-node): support xray propagator #4602

Merged
merged 10 commits into from May 3, 2024
2 changes: 2 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/opentelemetry-sdk-trace-node/package.json
Expand Up @@ -68,6 +68,7 @@
"@opentelemetry/context-async-hooks": "1.23.0",
"@opentelemetry/core": "1.23.0",
"@opentelemetry/propagator-b3": "1.23.0",
"@opentelemetry/propagator-aws-xray": "1.23.0",
"@opentelemetry/propagator-jaeger": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"semver": "^7.5.2"
Expand Down
Expand Up @@ -26,6 +26,7 @@ import {
import * as semver from 'semver';
import { NodeTracerConfig } from './config';
import { JaegerPropagator } from '@opentelemetry/propagator-jaeger';
import { AWSXRayPropagator } from '@opentelemetry/propagator-aws-xray';

/**
* Register this TracerProvider for use with the OpenTelemetry API.
Expand All @@ -50,6 +51,7 @@ export class NodeTracerProvider extends BasicTracerProvider {
() => new B3Propagator({ injectEncoding: B3InjectEncoding.MULTI_HEADER }),
],
['jaeger', () => new JaegerPropagator()],
['xray', () => new AWSXRayPropagator()]
]);

constructor(config: NodeTracerConfig = {}) {
Expand Down
Expand Up @@ -236,7 +236,7 @@ describe('NodeTracerProvider', () => {
});

it('should allow propagators as per the specification', () => {
(process.env as any).OTEL_PROPAGATORS = 'b3,b3multi,jaeger';
(process.env as any).OTEL_PROPAGATORS = 'b3,b3multi,jaeger,xray';

const provider = new NodeTracerProvider();
provider.register();
Expand All @@ -249,6 +249,7 @@ describe('NodeTracerProvider', () => {
'x-b3-sampled',
'x-b3-parentspanid',
'uber-trace-id',
'x-amzn-trace-id',
]);
});
});
Expand Down
3 changes: 3 additions & 0 deletions packages/opentelemetry-sdk-trace-node/tsconfig.json
Expand Up @@ -32,6 +32,9 @@
},
{
"path": "../opentelemetry-semantic-conventions"
},
{
"path": "../propagator-aws-xray"
}
]
}