4.0.0 will GA the Java Performance API. That means both Android and Spring will have it, but spring includes also auto instrumentation.
Java main API:
Android:
1.0.Spring:
Discussions
Discuss new API to take callback and wrap the whole transaction (to be discussed on the 11th of Jan)
The proposal for this API:
Sentry.runTransaction("name", tx -> {
// some code
});
Where runTransaction method would look like:
public static void runTransaction(String transactionName, Consumer<ITransaction> runnable) {
ITransaction transaction = startTransaction(transactionName);
try {
runnable.accept(transaction);
transaction.setStatus(SpanStatus.OK);
} catch (Throwable e) {
transaction.setThrowable(e);
transaction.setStatus(SpanStatus.INTERNAL_ERROR);
} finally {
transaction.finish();
}
}
With such simple API we don't give a an option to set different status on error, but it can be a good enough tradeoff.
Do we bind the transaction to the scope to integrations can find it? Seems like that could be done here, if we push a scope in there so it has its own isolated scope.
That would work on Java but not on Android (global hub mode).
We can add an overload that takes a configuration object later if we want to extend this API but I think by default we should push a scope and bind the transaction to it.
Which remind me that we bind it automatically and that needs to be removed, or at least configurable, and default false.
We can add an overload that takes a configuration object later if we want to extend this API but I think by default we should push a scope and bind the transaction to it.
Which remind me that we bind it automatically and that needs to be removed, or at least configurable, and default false.
Please elaborate. Currently when startTransaction is called we do stack.peek().getScope().setTransaction(transaction);, making this configurable on the startTransaction method level would make the API clumsy as we would need to add bunch of new overloaded methods.
@bruno-garcia can we close #1130 and use only this one? checkbox items will keep out of sync, I prefer a single source of truth.
Or to remove the Android items from here
Oh I just did it but realized that was for an alpha.
@marandaneto I'll just add the 2 points from that issue in here with a note (for the alpha) so we can focus on those for the next milestone (Android Performance Alpha release)
Oh I just did it but realized that was for an alpha.
@marandaneto I'll just add the 2 points from that issue in here with a note (for the alpha) so we can focus on those for the next milestone (Android Performance Alpha release)
urgh, yeah also missed the alpha subtitle, thx
@bruno-garcia what do you mean by Opt-in to the Java/Kotlin samples for performance? wouldn't it be the same as https://sentry-docs-git-feat-android-performance.sentry.dev/platforms/android/performance/ ?
@marandaneto I reworded it: Let's turn performance monitoring on on all our samples in this repo?
Clarify differences in API to align with .NET (and help build Flutter and iOS that come next): getsentry/sentry-dotnet#663 (PR: #1165)
Is there anything more we should clarify?
Clarify differences in API to align with .NET (and help build Flutter and iOS that come next): getsentry/sentry-dotnet#663 (PR: #1165)
Is there anything more we should clarify?
Checked the check box 馃コ we're close eh
We've GA'ed and everything that was required is done. Follow up tasks linked can be done on their own now.
@bruno-garcia 馃帀