diff --git a/sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpEventTest.kt b/sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpEventTest.kt index 4d9f005143..e5fb580b15 100644 --- a/sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpEventTest.kt +++ b/sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpEventTest.kt @@ -67,7 +67,6 @@ class SentryOkHttpEventTest { TransactionContext("name", "op", TracesSamplingDecision(true)), SentryTracer(TransactionContext("name", "op", TracesSamplingDecision(true)), scopes), scopes, - null, SpanOptions() ) diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java index f4b6233487..2ae611044b 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java @@ -44,6 +44,7 @@ public SamplingResult shouldSample( final @NotNull SpanKind spanKind, final @NotNull Attributes attributes, final @NotNull List parentLinks) { + // TODO [POTEL] use SamplingDecision.DROP sentry internal spans // note: parentLinks seems to usually be empty final @Nullable Span parentOtelSpan = Span.fromContextOrNull(parentContext); final @Nullable OtelSpanWrapper parentSentrySpan = @@ -65,6 +66,7 @@ public SamplingResult shouldSample( private @NotNull SamplingResult handleRootOtelSpan( final @NotNull String traceId, final @NotNull Context parentContext) { if (!options.isTraceSampling()) { + // TODO [POTEL] should this return RECORD_ONLY to allow tracing without performance return SamplingResult.create(SamplingDecision.DROP); } @Nullable Baggage baggage = null; diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index 632c4e06af..1950a393b6 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -3098,7 +3098,7 @@ public final class io/sentry/ShutdownHookIntegration : io/sentry/Integration, ja } public final class io/sentry/Span : io/sentry/ISpan { - public fun (Lio/sentry/TransactionContext;Lio/sentry/SentryTracer;Lio/sentry/IScopes;Lio/sentry/SentryDate;Lio/sentry/SpanOptions;)V + public fun (Lio/sentry/TransactionContext;Lio/sentry/SentryTracer;Lio/sentry/IScopes;Lio/sentry/SpanOptions;)V public fun finish ()V public fun finish (Lio/sentry/SpanStatus;)V public fun finish (Lio/sentry/SpanStatus;Lio/sentry/SentryDate;)V diff --git a/sentry/src/main/java/io/sentry/SentryTracer.java b/sentry/src/main/java/io/sentry/SentryTracer.java index 5e4b154d7e..c32410c572 100644 --- a/sentry/src/main/java/io/sentry/SentryTracer.java +++ b/sentry/src/main/java/io/sentry/SentryTracer.java @@ -71,8 +71,7 @@ public SentryTracer( Objects.requireNonNull(context, "context is required"); Objects.requireNonNull(scopes, "scopes are required"); - this.root = - new Span(context, this, scopes, transactionOptions.getStartTimestamp(), transactionOptions); + this.root = new Span(context, this, scopes, transactionOptions); this.name = context.getName(); this.instrumenter = context.getInstrumenter(); diff --git a/sentry/src/main/java/io/sentry/Span.java b/sentry/src/main/java/io/sentry/Span.java index f0c905ad8f..36b3f89813 100644 --- a/sentry/src/main/java/io/sentry/Span.java +++ b/sentry/src/main/java/io/sentry/Span.java @@ -77,13 +77,13 @@ public Span( final @NotNull TransactionContext context, final @NotNull SentryTracer sentryTracer, final @NotNull IScopes scopes, - final @Nullable SentryDate startTimestamp, final @NotNull SpanOptions options) { this.context = Objects.requireNonNull(context, "context is required"); this.context.setOrigin(options.getOrigin()); this.transaction = Objects.requireNonNull(sentryTracer, "sentryTracer is required"); this.scopes = Objects.requireNonNull(scopes, "scopes are required"); this.spanFinishedCallback = null; + final @Nullable SentryDate startTimestamp = options.getStartTimestamp(); if (startTimestamp != null) { this.startTimestamp = startTimestamp; } else { diff --git a/sentry/src/main/java/io/sentry/SpanOptions.java b/sentry/src/main/java/io/sentry/SpanOptions.java index 29ee134c1a..41ac313ae5 100644 --- a/sentry/src/main/java/io/sentry/SpanOptions.java +++ b/sentry/src/main/java/io/sentry/SpanOptions.java @@ -13,7 +13,6 @@ public class SpanOptions { /** The start timestamp of the transaction */ private @Nullable SentryDate startTimestamp = null; - // TODO [POTEL] this should also work for non OTel spans /** * Gets the startTimestamp * diff --git a/sentry/src/test/java/io/sentry/protocol/SentrySpanTest.kt b/sentry/src/test/java/io/sentry/protocol/SentrySpanTest.kt index d67b0186be..504f5bcccc 100644 --- a/sentry/src/test/java/io/sentry/protocol/SentrySpanTest.kt +++ b/sentry/src/test/java/io/sentry/protocol/SentrySpanTest.kt @@ -20,8 +20,7 @@ class SentrySpanTest { TransactionContext("name", "op"), mock(), mock(), - SentryLongDate(1000000), - SpanOptions() + SpanOptions().also { it.startTimestamp = SentryLongDate(1000000) } ) val sentrySpan = SentrySpan(span) diff --git a/sentry/src/test/java/io/sentry/util/TracingUtilsTest.kt b/sentry/src/test/java/io/sentry/util/TracingUtilsTest.kt index b3f640aeec..62e2ba0055 100644 --- a/sentry/src/test/java/io/sentry/util/TracingUtilsTest.kt +++ b/sentry/src/test/java/io/sentry/util/TracingUtilsTest.kt @@ -41,7 +41,6 @@ class TracingUtilsTest { TransactionContext("name", "op", TracesSamplingDecision(true)), SentryTracer(TransactionContext("name", "op", TracesSamplingDecision(true)), scopes), scopes, - null, SpanOptions() ) }