diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a290e2b3e..70751cdde9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Performance + +- Skip `Hint` allocation in `Scope.addBreadcrumb` when no `beforeBreadcrumb` callback is set ([#5689](https://github.com/getsentry/sentry-java/pull/5689)) + ## 8.47.0 ### Behavioral Changes diff --git a/sentry/src/main/java/io/sentry/Scope.java b/sentry/src/main/java/io/sentry/Scope.java index 282fc4df67..f5c57f5ac5 100644 --- a/sentry/src/main/java/io/sentry/Scope.java +++ b/sentry/src/main/java/io/sentry/Scope.java @@ -493,12 +493,11 @@ public void addBreadcrumb(@NotNull Breadcrumb breadcrumb, @Nullable Hint hint) { if (breadcrumb == null || breadcrumbs instanceof DisabledQueue) { return; } - if (hint == null) { - hint = new Hint(); - } - SentryOptions.BeforeBreadcrumbCallback callback = options.getBeforeBreadcrumb(); if (callback != null) { + if (hint == null) { + hint = new Hint(); + } breadcrumb = executeBeforeBreadcrumb(callback, breadcrumb, hint); } if (breadcrumb != null) {