@sentry/opentelemetry v9.28.1
Official Sentry SDK for OpenTelemetry
This package allows you to send your OpenTelemetry trace data to Sentry via OpenTelemetry SpanProcessors.
If you are using @sentry/node, OpenTelemetry support is included out of the box. This package is only necessary if you
are setting up OpenTelemetry support for Sentry yourself.
Installation
npm install @sentry/opentelemetry
# Or yarn
yarn add @sentry/opentelemetryNote that @sentry/opentelemetry depends on the following peer dependencies:
@opentelemetry/apiversion1.0.0or greater@opentelemetry/coreversion1.0.0or greater@opentelemetry/semantic-conventionsversion1.0.0or greater@opentelemetry/sdk-trace-baseversion1.0.0or greater, or a package that implements that, like@opentelemetry/sdk-node.
Usage
This package exposes a few building blocks you can add to your OpenTelemetry setup in order to capture OpenTelemetry traces to Sentry.
This is how you can use this in your app:
- Initialize Sentry, e.g.
@sentry/node! - Call
setupEventContextTrace(client) - Add
SentrySampleras sampler - Add
SentrySpanProcessoras span processor - Add a context manager wrapped via
wrapContextManagerClass - Add
SentryPropagatoras propagator - Setup OTEL-powered async context strategy for Sentry via
setOpenTelemetryContextAsyncContextStrategy()
For example, you could set this up as follows:
import * as Sentry from '@sentry/node';
import {
SentryPropagator,
SentrySampler,
SentrySpanProcessor,
setupEventContextTrace,
wrapContextManagerClass,
setOpenTelemetryContextAsyncContextStrategy,
} from '@sentry/opentelemetry';
import { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';
import { context, propagation, trace } from '@opentelemetry/api';
function setupSentry() {
Sentry.init({
dsn: 'xxx',
});
const client = Sentry.getClient();
setupEventContextTrace(client);
const provider = new BasicTracerProvider({
sampler: new SentrySampler(client),
});
provider.addSpanProcessor(new SentrySpanProcessor());
const SentryContextManager = wrapContextManagerClass(AsyncLocalStorageContextManager);
// Initialize the provider
trace.setGlobalTracerProvider(provider);
propagation.setGlobalPropagator(new SentryPropagator());
context.setGlobalContextManager(new SentryContextManager());
setOpenTelemetryContextAsyncContextStrategy();
}A full setup example can be found in node-experimental.
Links
8 months ago
5 months ago
9 months ago
7 months ago
11 months ago
11 months ago
8 months ago
12 months ago
6 months ago
10 months ago
6 months ago
7 months ago
11 months ago
9 months ago
9 months ago
6 months ago
8 months ago
10 months ago
6 months ago
8 months ago
8 months ago
11 months ago
9 months ago
12 months ago
9 months ago
6 months ago
1 year ago
1 year ago
9 months ago
10 months ago
6 months ago
12 months ago
10 months ago
9 months ago
12 months ago
11 months ago
11 months ago
10 months ago
9 months ago
5 months ago
5 months ago
8 months ago
6 months ago
12 months ago
9 months ago
9 months ago
10 months ago
9 months ago
6 months ago
6 months ago
12 months ago
10 months ago
8 months ago
8 months ago
5 months ago
12 months ago
9 months ago
8 months ago
12 months ago
12 months ago
7 months ago
11 months ago
8 months ago
8 months ago
5 months ago
9 months ago
7 months ago
9 months ago
9 months ago
11 months ago
8 months ago
5 months ago
5 months ago
7 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago