Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open up some transaction methods #2701

Merged
merged 10 commits into from
May 10, 2023
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- Auxiliary information (such as current memory load) at the time of ANR event.
- If you would like us to provide support for the old approach working alongside the new one on Android 11 and above (e.g. for raising events for slow code on main thread), consider upvoting [this issue](https://github.com/getsentry/sentry-java/issues/2693).
- The old watchdog implementation will continue working for older API versions (Android < 11)
- Open up transaction methods ([#2701](https://github.com/getsentry/sentry-java/pull/2701))
romtsn marked this conversation as resolved.
Show resolved Hide resolved

### Fixes

Expand Down
3 changes: 3 additions & 0 deletions sentry/api/sentry.api
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,7 @@ public abstract interface class io/sentry/ITransaction : io/sentry/ISpan {
public abstract fun setContext (Ljava/lang/String;Ljava/lang/Object;)V
public abstract fun setName (Ljava/lang/String;)V
public abstract fun setName (Ljava/lang/String;Lio/sentry/protocol/TransactionNameSource;)V
public abstract fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan;
}

public abstract interface class io/sentry/ITransactionProfiler {
Expand Down Expand Up @@ -924,6 +925,7 @@ public final class io/sentry/NoOpTransaction : io/sentry/ITransaction {
public fun setThrowable (Ljava/lang/Throwable;)V
public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan;
Expand Down Expand Up @@ -1916,6 +1918,7 @@ public final class io/sentry/SentryTracer : io/sentry/ITransaction {
public fun setThrowable (Ljava/lang/Throwable;)V
public fun startChild (Ljava/lang/String;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryDate;Lio/sentry/Instrumenter;Lio/sentry/SpanOptions;)Lio/sentry/ISpan;
public fun startChild (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SpanOptions;)Lio/sentry/ISpan;
Expand Down
1 change: 0 additions & 1 deletion sentry/src/main/java/io/sentry/IHub.java
Original file line number Diff line number Diff line change
Expand Up @@ -494,7 +494,6 @@ ITransaction startTransaction(
return startTransaction(name, operation, null);
}

@ApiStatus.Internal
@NotNull
ITransaction startTransaction(
lbloder marked this conversation as resolved.
Show resolved Hide resolved
final @NotNull TransactionContext transactionContext,
Expand Down
4 changes: 4 additions & 0 deletions sentry/src/main/java/io/sentry/ITransaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ public interface ITransaction extends ISpan {
@TestOnly
List<Span> getSpans();

@NotNull
ISpan startChild(
lbloder marked this conversation as resolved.
Show resolved Hide resolved
@NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp);

/**
* Returns if transaction is sampled.
*
Expand Down
6 changes: 6 additions & 0 deletions sentry/src/main/java/io/sentry/NoOpTransaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,12 @@
return Collections.emptyList();
}

@Override
public @NotNull ISpan startChild(
@NotNull String operation, @Nullable String description, @Nullable SentryDate timestamp) {
return NoOpSpan.getInstance();

Check warning on line 88 in sentry/src/main/java/io/sentry/NoOpTransaction.java

View check run for this annotation

Codecov / codecov/patch

sentry/src/main/java/io/sentry/NoOpTransaction.java#L88

Added line #L88 was not covered by tests
}

@Override
public @Nullable Span getLatestActiveSpan() {
return null;
Expand Down
1 change: 0 additions & 1 deletion sentry/src/main/java/io/sentry/Sentry.java
Original file line number Diff line number Diff line change
Expand Up @@ -886,7 +886,6 @@ public static void endSession() {
* @param transactionOptions options for the transaction
* @return created transaction.
*/
@ApiStatus.Internal
public static @NotNull ITransaction startTransaction(
final @NotNull TransactionContext transactionContext,
final @NotNull TransactionOptions transactionOptions) {
Expand Down
8 changes: 8 additions & 0 deletions sentry/src/main/java/io/sentry/SentryTracer.java
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,14 @@
return createChild(operation, description, timestamp, instrumenter, spanOptions);
}

@Override
public @NotNull ISpan startChild(
final @NotNull String operation,
@Nullable String description,
@Nullable SentryDate timestamp) {
return createChild(operation, description, timestamp, Instrumenter.SENTRY, new SpanOptions());

Check warning on line 412 in sentry/src/main/java/io/sentry/SentryTracer.java

View check run for this annotation

Codecov / codecov/patch

sentry/src/main/java/io/sentry/SentryTracer.java#L412

Added line #L412 was not covered by tests
}

@Override
public @NotNull ISpan startChild(
final @NotNull String operation, final @Nullable String description) {
Expand Down