From 30ee0a03e2b8c35b17190db42ca9f3872859ff99 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Mon, 17 Mar 2025 10:16:49 +0100 Subject: [PATCH] feat(js): Update OTEL docs for OTEL v2 --- .../common/opentelemetry/custom-setup.mdx | 8 ++++--- .../using-opentelemetry-apis.mdx | 21 +++++++++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx index 8fbfcde25c82ff..88c5abfa467aaa 100644 --- a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx +++ b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx @@ -58,11 +58,13 @@ const provider = new NodeTracerProvider({ // Ensure the correct subset of traces is sent to Sentry // This also ensures trace propagation works as expected sampler: sentryClient ? new SentrySampler(sentryClient) : undefined, + spanProcessors: [ + // Ensure spans are correctly linked & sent to Sentry + new SentrySpanProcessor(), + // Add additional processors here + ], }); -// Ensure spans are correctly linked & sent to Sentry -provider.addSpanProcessor(new SentrySpanProcessor()); - provider.register({ // Ensure trace propagation works // This relies on the SentrySampler for correct propagation diff --git a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx index 4a3e745327382b..3eefd6c09fde4e 100644 --- a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx +++ b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx @@ -78,11 +78,28 @@ You can also use any other tracer. All OpenTelemetry spans will be picked up by ## Modifying the default OpenTelemetry TracerProvider -You can access the tracer provider set up by Sentry when using Sentry's default OpenTelemetry instrumentation. This enables you to easily add additional span processors, allowing you to export tracing data to various OTEL collectors or other backends. +You can access the tracer provider set up by Sentry when using Sentry's default OpenTelemetry instrumentation. ```javascript const Sentry = require("@sentry/node"); const provider = Sentry.getClient()?.traceProvider; -provider?.addSpanProcessor(new MySpanProcessor()); +``` + +## Adding Additional Span Processors + +You can add additional span processors to the tracer provider set up by Sentry when using Sentry's default OpenTelemetry instrumentation. + +```javascript +const Sentry = require("@sentry/node"); + +Sentry.init({ + dsn: "___DSN___", + + // The SentrySampler will use this to determine which traces to sample + tracesSampleRate: 1.0, + + // Add additional OpenTelemetry SpanProcessors: + openTelemetrySpanProcessors: [new MySpanProcessor()], +}); ```