Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

- Always send memory stats for transactions ([#2936](https://github.com/getsentry/sentry-java/pull/2936))
- This makes it possible to query transactions by the `device.class` tag on Sentry
- Add `sentry.enable-aot-compatibility` property to SpringBoot Jakarta `SentryAutoConfiguration` to enable building for GraalVM ([#2915](https://github.com/getsentry/sentry-java/pull/2915))

### Dependencies

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ sentry.enable-tracing=true
sentry.debug=true
in-app-includes="io.sentry.samples"

# Uncomment and set to true to enable aot compatibility
# This flag disables all AOP related features (i.e. @SentryTransaction, @SentrySpan)
# to successfully compile to GraalVM
# sentry.enable-aot-compatibility=false

# Database configuration
spring.datasource.url=jdbc:p6spy:hsqldb:mem:testdb
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ public class io/sentry/spring/boot/jakarta/SentryProperties : io/sentry/SentryOp
public fun getLogging ()Lio/sentry/spring/boot/jakarta/SentryProperties$Logging;
public fun getReactive ()Lio/sentry/spring/boot/jakarta/SentryProperties$Reactive;
public fun getUserFilterOrder ()Ljava/lang/Integer;
public fun isEnableAotCompatibility ()Z
public fun isUseGitCommitIdAsRelease ()Z
public fun setEnableAotCompatibility (Z)V
public fun setExceptionResolverOrder (I)V
public fun setLogging (Lio/sentry/spring/boot/jakarta/SentryProperties$Logging;)V
public fun setReactive (Lio/sentry/spring/boot/jakarta/SentryProperties$Reactive;)V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,10 @@ public FilterRegistrationBean<SentryTracingFilter> sentryTracingFilter(
}

@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(
value = "sentry.enable-aot-compatibility",
havingValue = "false",
matchIfMissing = true)
@Conditional(SentryTracingCondition.class)
@ConditionalOnClass(ProceedingJoinPoint.class)
@Import(SentryAdviceConfiguration.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ public class SentryProperties extends SentryOptions {
/** Reactive framework (e.g. WebFlux) integration properties */
private @NotNull Reactive reactive = new Reactive();

/**
* If set to true, this flag disables all AOP related features (e.g. {@link
* io.sentry.spring.jakarta.tracing.SentryTransaction}, {@link
* io.sentry.spring.jakarta.tracing.SentrySpan}) to successfully compile to GraalVM
*/
private boolean enableAotCompatibility = false;

public boolean isUseGitCommitIdAsRelease() {
return useGitCommitIdAsRelease;
}
Expand Down Expand Up @@ -85,6 +92,14 @@ public void setReactive(@NotNull Reactive reactive) {
this.reactive = reactive;
}

public boolean isEnableAotCompatibility() {
return enableAotCompatibility;
}

public void setEnableAotCompatibility(boolean enableAotCompatibility) {
this.enableAotCompatibility = enableAotCompatibility;
}

@Open
public static class Logging {
/** Enable/Disable logging auto-configuration. */
Expand Down