diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b9151ff97..844b5144c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Improvements +- Expose `MAX_EVENT_SIZE_BYTES` constant in SentryOptions ([#4962](https://github.com/getsentry/sentry-java/pull/4962)) - Discard envelopes on `4xx` and `5xx` response ([#4950](https://github.com/getsentry/sentry-java/pull/4950)) - This aims to not overwhelm Sentry after an outage or load shedding (including HTTP 429) where too many events are sent at once diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index 05d53d0b36..ef8e984f7c 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -3341,6 +3341,7 @@ public final class io/sentry/SentryOpenTelemetryMode : java/lang/Enum { public class io/sentry/SentryOptions { public static final field DEFAULT_PROPAGATION_TARGETS Ljava/lang/String; + public static final field MAX_EVENT_SIZE_BYTES J protected final field lock Lio/sentry/util/AutoClosableReentrantLock; public fun ()V public fun addBundleId (Ljava/lang/String;)V diff --git a/sentry/src/main/java/io/sentry/SentryOptions.java b/sentry/src/main/java/io/sentry/SentryOptions.java index 7cfdf24a72..835411cb61 100644 --- a/sentry/src/main/java/io/sentry/SentryOptions.java +++ b/sentry/src/main/java/io/sentry/SentryOptions.java @@ -56,6 +56,9 @@ public class SentryOptions { @ApiStatus.Internal public static final @NotNull String DEFAULT_PROPAGATION_TARGETS = ".*"; + /** Maximum size of an event in bytes. Events exceeding this limit will be reduced. */ + public static final long MAX_EVENT_SIZE_BYTES = 1024 * 1024; + /** Default Log level if not specified Default is DEBUG */ static final SentryLevel DEFAULT_DIAGNOSTIC_LEVEL = SentryLevel.DEBUG; diff --git a/sentry/src/main/java/io/sentry/util/EventSizeLimitingUtils.java b/sentry/src/main/java/io/sentry/util/EventSizeLimitingUtils.java index f6a83ebc57..c6c3d1a48b 100644 --- a/sentry/src/main/java/io/sentry/util/EventSizeLimitingUtils.java +++ b/sentry/src/main/java/io/sentry/util/EventSizeLimitingUtils.java @@ -1,5 +1,7 @@ package io.sentry.util; +import static io.sentry.SentryOptions.MAX_EVENT_SIZE_BYTES; + import io.sentry.Breadcrumb; import io.sentry.Hint; import io.sentry.SentryEvent; @@ -22,7 +24,6 @@ @ApiStatus.Internal public final class EventSizeLimitingUtils { - private static final long MAX_EVENT_SIZE_BYTES = 1024 * 1024; private static final int MAX_FRAMES_PER_STACK = 500; private static final int FRAMES_PER_SIDE = MAX_FRAMES_PER_STACK / 2;