diff --git a/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java b/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java index 68d5afceaae..96f5014988f 100644 --- a/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java +++ b/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java @@ -12,6 +12,7 @@ import io.sentry.protocol.SentryId; import java.util.List; import java.util.TimeZone; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.quartz.CalendarIntervalTrigger; @@ -26,6 +27,7 @@ import org.quartz.SimpleTrigger; import org.quartz.Trigger; +@ApiStatus.Experimental public final class SentryJobListener implements JobListener { public static final String SENTRY_CHECK_IN_ID_KEY = "sentry-checkin-id"; diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java index 8819e246e5e..eb396c9692b 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java @@ -1,12 +1,14 @@ package io.sentry.spring.jakarta.checkin; import com.jakewharton.nopen.annotation.Open; +import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @Open +@ApiStatus.Experimental public class SentryQuartzConfiguration { @Bean diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java index 70dafd24e24..e37f5ac4674 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,9 +1,11 @@ package io.sentry.spring.jakarta.checkin; import io.sentry.quartz.SentryJobListener; +import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; +@ApiStatus.Experimental public final class SentrySchedulerFactoryBeanCustomizer implements SchedulerFactoryBeanCustomizer { @Override public void customize(SchedulerFactoryBean schedulerFactoryBean) { diff --git a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java index 842011cb1f1..640507dd7c2 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java @@ -1,12 +1,14 @@ package io.sentry.spring.checkin; import com.jakewharton.nopen.annotation.Open; +import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @Open +@ApiStatus.Experimental public class SentryQuartzConfiguration { @Bean diff --git a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java index f266d478f1b..d0f68c6712e 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,9 +1,11 @@ package io.sentry.spring.checkin; import io.sentry.quartz.SentryJobListener; +import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; +@ApiStatus.Experimental public final class SentrySchedulerFactoryBeanCustomizer implements SchedulerFactoryBeanCustomizer { @Override public void customize(SchedulerFactoryBean schedulerFactoryBean) { diff --git a/sentry/src/main/java/io/sentry/CheckIn.java b/sentry/src/main/java/io/sentry/CheckIn.java index 4a72d8b5d09..e8ad8d57c64 100644 --- a/sentry/src/main/java/io/sentry/CheckIn.java +++ b/sentry/src/main/java/io/sentry/CheckIn.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +@ApiStatus.Experimental /** A check-in for a monitor (CRON). */ public final class CheckIn implements JsonUnknown, JsonSerializable { diff --git a/sentry/src/main/java/io/sentry/CheckInStatus.java b/sentry/src/main/java/io/sentry/CheckInStatus.java index 42ed7bac549..0f0b47b4a4d 100644 --- a/sentry/src/main/java/io/sentry/CheckInStatus.java +++ b/sentry/src/main/java/io/sentry/CheckInStatus.java @@ -1,9 +1,11 @@ package io.sentry; import java.util.Locale; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** Status of a CheckIn */ +@ApiStatus.Experimental public enum CheckInStatus { IN_PROGRESS, OK, diff --git a/sentry/src/main/java/io/sentry/ExternalOptions.java b/sentry/src/main/java/io/sentry/ExternalOptions.java index e139cd2cc4a..604a001da99 100644 --- a/sentry/src/main/java/io/sentry/ExternalOptions.java +++ b/sentry/src/main/java/io/sentry/ExternalOptions.java @@ -8,6 +8,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -392,18 +393,22 @@ public void setSendModules(final @Nullable Boolean sendModules) { this.sendModules = sendModules; } + @ApiStatus.Experimental public @Nullable Boolean isEnableAutomaticCheckIns() { return enableAutomaticCheckIns; } + @ApiStatus.Experimental public void setEnableAutomaticCheckIns(final @Nullable Boolean enableAutomaticCheckIns) { this.enableAutomaticCheckIns = enableAutomaticCheckIns; } + @ApiStatus.Experimental public void setIgnoredCheckIns(final @Nullable List ignoredCheckIns) { this.ignoredCheckIns = ignoredCheckIns; } + @ApiStatus.Experimental public @Nullable List getIgnoredCheckIns() { return ignoredCheckIns; } diff --git a/sentry/src/main/java/io/sentry/Hub.java b/sentry/src/main/java/io/sentry/Hub.java index 58103900692..0ce59cc05c2 100644 --- a/sentry/src/main/java/io/sentry/Hub.java +++ b/sentry/src/main/java/io/sentry/Hub.java @@ -864,6 +864,7 @@ private Scope buildLocalScope( } @Override + @ApiStatus.Experimental public @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { SentryId sentryId = SentryId.EMPTY_ID; if (!isEnabled()) { diff --git a/sentry/src/main/java/io/sentry/HubAdapter.java b/sentry/src/main/java/io/sentry/HubAdapter.java index 05f348cb157..88445b5232c 100644 --- a/sentry/src/main/java/io/sentry/HubAdapter.java +++ b/sentry/src/main/java/io/sentry/HubAdapter.java @@ -253,6 +253,7 @@ public void reportFullyDisplayed() { } @Override + @ApiStatus.Experimental public @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { return Sentry.captureCheckIn(checkIn); } diff --git a/sentry/src/main/java/io/sentry/IHub.java b/sentry/src/main/java/io/sentry/IHub.java index 71bbb0f7310..8ff69727b06 100644 --- a/sentry/src/main/java/io/sentry/IHub.java +++ b/sentry/src/main/java/io/sentry/IHub.java @@ -627,6 +627,7 @@ TransactionContext continueTrace( @Nullable BaggageHeader getBaggage(); + @ApiStatus.Experimental @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn); } diff --git a/sentry/src/main/java/io/sentry/ISentryClient.java b/sentry/src/main/java/io/sentry/ISentryClient.java index 28ce8111d0a..6eb8d7d1d05 100644 --- a/sentry/src/main/java/io/sentry/ISentryClient.java +++ b/sentry/src/main/java/io/sentry/ISentryClient.java @@ -266,5 +266,6 @@ SentryId captureTransaction( } @NotNull + @ApiStatus.Experimental SentryId captureCheckIn(@NotNull CheckIn checkIn, @Nullable Scope scope, @Nullable Hint hint); } diff --git a/sentry/src/main/java/io/sentry/MonitorConfig.java b/sentry/src/main/java/io/sentry/MonitorConfig.java index b6ad81ee8f8..c25884c2bde 100644 --- a/sentry/src/main/java/io/sentry/MonitorConfig.java +++ b/sentry/src/main/java/io/sentry/MonitorConfig.java @@ -4,9 +4,11 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +@ApiStatus.Experimental public final class MonitorConfig implements JsonUnknown, JsonSerializable { private @NotNull MonitorSchedule schedule; diff --git a/sentry/src/main/java/io/sentry/MonitorContexts.java b/sentry/src/main/java/io/sentry/MonitorContexts.java index 461a4d549aa..3a15aa4113c 100644 --- a/sentry/src/main/java/io/sentry/MonitorContexts.java +++ b/sentry/src/main/java/io/sentry/MonitorContexts.java @@ -6,9 +6,11 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.ConcurrentHashMap; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +@ApiStatus.Experimental public final class MonitorContexts extends ConcurrentHashMap implements JsonSerializable { private static final long serialVersionUID = 3987329379811822556L; diff --git a/sentry/src/main/java/io/sentry/MonitorSchedule.java b/sentry/src/main/java/io/sentry/MonitorSchedule.java index 904e84aeac1..23740d45ba2 100644 --- a/sentry/src/main/java/io/sentry/MonitorSchedule.java +++ b/sentry/src/main/java/io/sentry/MonitorSchedule.java @@ -8,6 +8,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +@ApiStatus.Experimental public final class MonitorSchedule implements JsonUnknown, JsonSerializable { public static @NotNull MonitorSchedule crontab(final @NotNull String value) { diff --git a/sentry/src/main/java/io/sentry/MonitorScheduleType.java b/sentry/src/main/java/io/sentry/MonitorScheduleType.java index ac168e38455..a1ec20c97ed 100644 --- a/sentry/src/main/java/io/sentry/MonitorScheduleType.java +++ b/sentry/src/main/java/io/sentry/MonitorScheduleType.java @@ -1,9 +1,11 @@ package io.sentry; import java.util.Locale; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** Type of a monitor schedule */ +@ApiStatus.Experimental public enum MonitorScheduleType { CRONTAB, INTERVAL; diff --git a/sentry/src/main/java/io/sentry/MonitorScheduleUnit.java b/sentry/src/main/java/io/sentry/MonitorScheduleUnit.java index adfb0771fe7..994d9c4be17 100644 --- a/sentry/src/main/java/io/sentry/MonitorScheduleUnit.java +++ b/sentry/src/main/java/io/sentry/MonitorScheduleUnit.java @@ -1,9 +1,11 @@ package io.sentry; import java.util.Locale; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** Time unit of a monitor schedule. */ +@ApiStatus.Experimental public enum MonitorScheduleUnit { MINUTE, HOUR, diff --git a/sentry/src/main/java/io/sentry/NoOpHub.java b/sentry/src/main/java/io/sentry/NoOpHub.java index 4d40efe976b..ec6b45e3891 100644 --- a/sentry/src/main/java/io/sentry/NoOpHub.java +++ b/sentry/src/main/java/io/sentry/NoOpHub.java @@ -4,6 +4,7 @@ import io.sentry.protocol.SentryTransaction; import io.sentry.protocol.User; import java.util.List; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -209,6 +210,7 @@ public void reportFullyDisplayed() {} } @Override + @ApiStatus.Experimental public @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { return SentryId.EMPTY_ID; } diff --git a/sentry/src/main/java/io/sentry/NoOpSentryClient.java b/sentry/src/main/java/io/sentry/NoOpSentryClient.java index adeb63e3563..c0a71c27fc4 100644 --- a/sentry/src/main/java/io/sentry/NoOpSentryClient.java +++ b/sentry/src/main/java/io/sentry/NoOpSentryClient.java @@ -2,6 +2,7 @@ import io.sentry.protocol.SentryId; import io.sentry.protocol.SentryTransaction; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -54,6 +55,7 @@ public SentryId captureEnvelope(@NotNull SentryEnvelope envelope, @Nullable Hint } @Override + @ApiStatus.Experimental public @NotNull SentryId captureCheckIn( @NotNull CheckIn checkIn, @Nullable Scope scope, @Nullable Hint hint) { return SentryId.EMPTY_ID; diff --git a/sentry/src/main/java/io/sentry/Sentry.java b/sentry/src/main/java/io/sentry/Sentry.java index 822822340f2..71b588d55b9 100644 --- a/sentry/src/main/java/io/sentry/Sentry.java +++ b/sentry/src/main/java/io/sentry/Sentry.java @@ -1012,6 +1012,7 @@ public interface OptionsConfiguration { return getCurrentHub().getBaggage(); } + @ApiStatus.Experimental public static @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { return getCurrentHub().captureCheckIn(checkIn); } diff --git a/sentry/src/main/java/io/sentry/SentryClient.java b/sentry/src/main/java/io/sentry/SentryClient.java index 19b0bb66276..5ff5e3f35f6 100644 --- a/sentry/src/main/java/io/sentry/SentryClient.java +++ b/sentry/src/main/java/io/sentry/SentryClient.java @@ -672,6 +672,7 @@ public void captureSession(final @NotNull Session session, final @Nullable Hint } @Override + @ApiStatus.Experimental public @NotNull SentryId captureCheckIn( @NotNull CheckIn checkIn, final @Nullable Scope scope, @Nullable Hint hint) { if (hint == null) { diff --git a/sentry/src/main/java/io/sentry/SentryOptions.java b/sentry/src/main/java/io/sentry/SentryOptions.java index 7265b2feda7..d14b3150a2d 100644 --- a/sentry/src/main/java/io/sentry/SentryOptions.java +++ b/sentry/src/main/java/io/sentry/SentryOptions.java @@ -444,10 +444,10 @@ public class SentryOptions { private boolean sendModules = true; /** Whether to automatically send check-ins for monitors (CRONS). */ - private boolean enableAutomaticCheckIns = false; + @ApiStatus.Experimental private boolean enableAutomaticCheckIns = false; /** Contains a list of monitor slugs for which check-ins should not be sent. */ - private @Nullable List ignoredCheckIns = null; + @ApiStatus.Experimental private @Nullable List ignoredCheckIns = null; /** * Adds an event processor @@ -2152,6 +2152,7 @@ public boolean isSendModules() { * * @return true if check-ins should be sent automatically. */ + @ApiStatus.Experimental public boolean isEnableAutomaticCheckIns() { return enableAutomaticCheckIns; } @@ -2179,10 +2180,12 @@ public void setSendModules(boolean sendModules) { * * @param enableAutomaticCheckIns true if check-ins should be sent automatically. */ + @ApiStatus.Experimental public void setEnableAutomaticCheckIns(boolean enableAutomaticCheckIns) { this.enableAutomaticCheckIns = enableAutomaticCheckIns; } + @ApiStatus.Experimental public void setIgnoredCheckIns(final @Nullable List ignoredCheckIns) { if (ignoredCheckIns == null) { this.ignoredCheckIns = null; @@ -2198,6 +2201,7 @@ public void setIgnoredCheckIns(final @Nullable List ignoredCheckIns) { } } + @ApiStatus.Experimental public @Nullable List getIgnoredCheckIns() { return ignoredCheckIns; }