Skip to content

Commit 8a31bb4

Browse files
authored
POTEL 60 - Replace OTel ContextStorage wrapper with ContextStorageProvider (#3938)
* bump OTel to 2.10.0 * support DB_QUERY_TEXT * changelog * change bom version for otel * Replace OTel ContextStorage wrapper with ContextStorageProvider * changelog * remove println
1 parent 7345b18 commit 8a31bb4

File tree

5 files changed

+25
-3
lines changed

5 files changed

+25
-3
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55
### Features
66

77
- Extract OpenTelemetry `URL_PATH` span attribute into description ([#3933](https://github.com/getsentry/sentry-java/pull/3933))
8+
- Replace OpenTelemetry `ContextStorage` wrapper with `ContextStorageProvider` ([#3938](https://github.com/getsentry/sentry-java/pull/3938))
9+
- The wrapper had to be put in place before any call to `Context` whereas `ContextStorageProvider` is automatically invoked at the correct time.
10+
11+
### Dependencies
12+
13+
- Bump OpenTelemetry to 1.44.1, OpenTelemetry Java Agent to 2.10.0 and Semantic Conventions to 1.28.0 ([#3935](https://github.com/getsentry/sentry-java/pull/3935))
814

915
### Dependencies
1016

sentry-opentelemetry/sentry-opentelemetry-bootstrap/api/sentry-opentelemetry-bootstrap.api

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ public final class io/sentry/opentelemetry/SentryContextStorage : io/opentelemet
103103
public fun current ()Lio/opentelemetry/context/Context;
104104
}
105105

106+
public final class io/sentry/opentelemetry/SentryContextStorageProvider : io/opentelemetry/context/ContextStorageProvider {
107+
public fun <init> ()V
108+
public fun get ()Lio/opentelemetry/context/ContextStorage;
109+
}
110+
106111
public final class io/sentry/opentelemetry/SentryContextWrapper : io/opentelemetry/context/Context {
107112
public fun get (Lio/opentelemetry/context/ContextKey;)Ljava/lang/Object;
108113
public fun toString ()Ljava/lang/String;

sentry-opentelemetry/sentry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelContextScopesStorage.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static io.sentry.opentelemetry.SentryOtelKeys.SENTRY_SCOPES_KEY;
44

55
import io.opentelemetry.context.Context;
6-
import io.opentelemetry.context.ContextStorage;
76
import io.opentelemetry.context.Scope;
87
import io.sentry.IScopes;
98
import io.sentry.IScopesStorage;
@@ -27,8 +26,8 @@ public void init() {
2726
* should try to use OTels StorageProvider mechanism instead.
2827
*/
2928
// ContextStorage.addWrapper((storage) -> new SentryContextStorage(storage));
30-
ContextStorage.addWrapper(
31-
(storage) -> new SentryContextStorage(new SentryOtelThreadLocalStorage()));
29+
// ContextStorage.addWrapper(
30+
// (storage) -> new SentryContextStorage(new SentryOtelThreadLocalStorage()));
3231
}
3332

3433
@Override
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.sentry.opentelemetry;
2+
3+
import io.opentelemetry.context.ContextStorage;
4+
import io.opentelemetry.context.ContextStorageProvider;
5+
6+
public final class SentryContextStorageProvider implements ContextStorageProvider {
7+
@Override
8+
public ContextStorage get() {
9+
return new SentryContextStorage(new SentryOtelThreadLocalStorage());
10+
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
io.sentry.opentelemetry.SentryContextStorageProvider

0 commit comments

Comments
 (0)