Skip to content

Commit fee2843

Browse files
authored
Merge d2b5881 into 56f3bd9
2 parents 56f3bd9 + d2b5881 commit fee2843

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSentrySpanProcessor.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,14 @@ public void onStart(final @NotNull Context parentContext, final @NotNull ReadWri
5353
TracesSamplingDecision samplingDecision =
5454
OtelSamplingUtil.extractSamplingDecisionOrDefault(otelSpan.toSpanData().getAttributes());
5555
@Nullable Baggage baggage = null;
56+
@Nullable SpanId sentryParentSpanId = null;
5657
otelSpan.setAttribute(IS_REMOTE_PARENT, otelSpan.getParentSpanContext().isRemote());
5758
if (sentryParentSpan == null) {
5859
final @NotNull String traceId = otelSpan.getSpanContext().getTraceId();
5960
final @NotNull String spanId = otelSpan.getSpanContext().getSpanId();
6061
final @NotNull SpanId sentrySpanId = new SpanId(spanId);
6162
final @NotNull String parentSpanId = otelSpan.getParentSpanContext().getSpanId();
62-
final @Nullable SpanId sentryParentSpanId =
63+
sentryParentSpanId =
6364
io.opentelemetry.api.trace.SpanId.isValid(parentSpanId) ? new SpanId(parentSpanId) : null;
6465

6566
@Nullable
@@ -99,7 +100,13 @@ public void onStart(final @NotNull Context parentContext, final @NotNull ReadWri
99100
new SentryLongDate(otelSpan.toSpanData().getStartEpochNanos());
100101
final @NotNull OtelSpanWrapper sentrySpan =
101102
new OtelSpanWrapper(
102-
otelSpan, scopes, startTimestamp, samplingDecision, sentryParentSpan, baggage);
103+
otelSpan,
104+
scopes,
105+
startTimestamp,
106+
samplingDecision,
107+
sentryParentSpan,
108+
sentryParentSpanId,
109+
baggage);
103110
sentrySpan.getSpanContext().setOrigin(SentrySpanExporter.TRACE_ORIGIN);
104111
spanStorage.storeSentrySpan(spanContext, sentrySpan);
105112
}

sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ public SamplingResult shouldSample(
9494
.getOptions()
9595
.getInternalTracesSampler()
9696
.sample(new SamplingContext(transactionContext, null));
97+
// TODO [POTEL] if sampling decision = false, we should record it in client report
9798
return new SentrySamplingResult(sentryDecision);
9899
}
99100

sentry-opentelemetry/sentry-opentelemetry-extra/api/sentry-opentelemetry-extra.api

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public final class io/sentry/opentelemetry/OtelContextScopesStorage : io/sentry/
1111
}
1212

1313
public final class io/sentry/opentelemetry/OtelSpanContext : io/sentry/SpanContext {
14-
public fun <init> (Lio/opentelemetry/sdk/trace/ReadWriteSpan;Lio/sentry/TracesSamplingDecision;Lio/sentry/opentelemetry/OtelSpanWrapper;Lio/sentry/Baggage;)V
14+
public fun <init> (Lio/opentelemetry/sdk/trace/ReadWriteSpan;Lio/sentry/TracesSamplingDecision;Lio/sentry/opentelemetry/OtelSpanWrapper;Lio/sentry/SpanId;Lio/sentry/Baggage;)V
1515
public fun getOperation ()Ljava/lang/String;
1616
public fun getStatus ()Lio/sentry/SpanStatus;
1717
public fun setOperation (Ljava/lang/String;)V
@@ -27,7 +27,7 @@ public final class io/sentry/opentelemetry/OtelSpanFactory : io/sentry/ISpanFact
2727
}
2828

2929
public final class io/sentry/opentelemetry/OtelSpanWrapper : io/sentry/ISpan {
30-
public fun <init> (Lio/opentelemetry/sdk/trace/ReadWriteSpan;Lio/sentry/IScopes;Lio/sentry/SentryDate;Lio/sentry/TracesSamplingDecision;Lio/sentry/opentelemetry/OtelSpanWrapper;Lio/sentry/Baggage;)V
30+
public fun <init> (Lio/opentelemetry/sdk/trace/ReadWriteSpan;Lio/sentry/IScopes;Lio/sentry/SentryDate;Lio/sentry/TracesSamplingDecision;Lio/sentry/opentelemetry/OtelSpanWrapper;Lio/sentry/SpanId;Lio/sentry/Baggage;)V
3131
public fun finish ()V
3232
public fun finish (Lio/sentry/SpanStatus;)V
3333
public fun finish (Lio/sentry/SpanStatus;Lio/sentry/SentryDate;)V

sentry-opentelemetry/sentry-opentelemetry-extra/src/main/java/io/sentry/opentelemetry/OtelSpanContext.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ public OtelSpanContext(
3030
final @NotNull ReadWriteSpan span,
3131
final @Nullable TracesSamplingDecision samplingDecision,
3232
final @Nullable OtelSpanWrapper parentSpan,
33+
final @Nullable SpanId parentSpanId,
3334
final @Nullable Baggage baggage) {
3435
super(
3536
new SentryId(span.getSpanContext().getTraceId()),
3637
new SpanId(span.getSpanContext().getSpanId()),
37-
parentSpan == null ? null : parentSpan.getSpanContext().getSpanId(),
38+
parentSpan == null ? parentSpanId : parentSpan.getSpanContext().getSpanId(),
3839
span.getName(),
3940
null,
4041
samplingDecision != null

sentry-opentelemetry/sentry-opentelemetry-extra/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public OtelSpanWrapper(
8888
final @NotNull SentryDate startTimestamp,
8989
final @Nullable TracesSamplingDecision samplingDecision,
9090
final @Nullable OtelSpanWrapper parentSpan,
91+
final @Nullable SpanId parentSpanId,
9192
final @Nullable Baggage baggage) {
9293
this.scopes = Objects.requireNonNull(scopes, "scopes are required");
9394
this.span = new WeakReference<>(span);
@@ -101,7 +102,8 @@ public OtelSpanWrapper(
101102
this.baggage = null;
102103
}
103104

104-
this.context = new OtelSpanContext(span, samplingDecision, parentSpan, this.baggage);
105+
this.context =
106+
new OtelSpanContext(span, samplingDecision, parentSpan, parentSpanId, this.baggage);
105107
}
106108

107109
@Override

0 commit comments

Comments
 (0)