OpenTelemetry Support
You can configure your OpenTelemetry SDK to send traces and spans to Sentry.
Install
Copied
npm install @sentry/node @sentry/opentelemetry-node
Note that @sentry/opentelemetry-node depends on the following peer dependencies:
- @opentelemetry/api, version 1.0.0 or greater
- @opentelemetry/sdk-trace-base, version 1.0.0 or greater, or a package that implements it, like @opentelemetry/sdk-node
Usage
You need to register SentrySpanProcessor
and SentryPropagator
with your OpenTelemetry installation:
Copied
const Sentry = require("@sentry/node");
const {
SentrySpanProcessor,
SentryPropagator,
} = require("@sentry/opentelemetry-node");
const opentelemetry = require("@opentelemetry/sdk-node");
const otelApi = require("@opentelemetry/api");
const {
getNodeAutoInstrumentations,
} = require("@opentelemetry/auto-instrumentations-node");
const {
OTLPTraceExporter,
} = require("@opentelemetry/exporter-trace-otlp-grpc");
// Make sure to call `Sentry.init` BEFORE initializing the OpenTelemetry SDK
Sentry.init({
dsn: "__DSN__",
tracesSampleRate: 1.0,
// set the instrumenter to use OpenTelemetry instead of Sentry
instrumenter: "otel",
// ...
});
const sdk = new opentelemetry.NodeSDK({
// Existing config
traceExporter: new OTLPTraceExporter(),
instrumentations: [getNodeAutoInstrumentations()],
// Sentry config
spanProcessor: new SentrySpanProcessor(),
});
otelApi.propagation.setGlobalPropagator(new SentryPropagator());
sdk.start();
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").
- Package:
- npm:@sentry/node
- Version:
- 7.34.0
- Repository:
- https://github.com/getsentry/sentry-javascript