8.0.0-rc.3
Pre-release
Pre-release
Features
- Add
sentry-opentelemetry-agentless-springmodule (#4000)- This module can be added as a dependency when using Sentry with OpenTelemetry and Spring Boot but don't want to use our Agent. It takes care of configuring OpenTelemetry for use with Sentry.
- You may want to set
OTEL_LOGS_EXPORTER=none;OTEL_METRICS_EXPORTER=none;OTEL_TRACES_EXPORTER=noneenv vars to not have the log flooded with error messages regarding OpenTelemetry features we don't use.
- Add
sentry-opentelemetry-agentlessmodule (#3961)- This module can be added as a dependency when using Sentry with OpenTelemetry but don't want to use our Agent. It takes care of configuring OpenTelemetry for use with Sentry.
- To enable the auto configuration of it, please set
-Dotel.java.global-autoconfigure.enabled=trueon thejavacommand, when starting your application. - You may also want to set
OTEL_LOGS_EXPORTER=none;OTEL_METRICS_EXPORTER=none;OTEL_TRACES_EXPORTER=noneenv vars to not have the log flooded with error messages regarding OpenTelemetry features we don't use.
OpenTelemetryUtil.applyOpenTelemetryOptionsnow takes an enum instead of a boolean for its mode- Add
openTelemetryModeoption (#3994)- It defaults to
AUTOmeaning the SDK will figure out how to best configure itself for use with OpenTelemetry - Use of OpenTelemetry can also be disabled completely by setting it to
OFF(#3995)- In this case even if OpenTelemetry is present, the Sentry SDK will not use it
- Use
AGENTwhen usingsentry-opentelemetry-agent - Use
AGENTLESSwhen usingsentry-opentelemetry-agentless - Use
AGENTLESS_SPRINGwhen usingsentry-opentelemetry-agentless-spring
- It defaults to
- Add
scopeBindingModetoSpanOptions(#4004)- This setting only affects the SDK when used with OpenTelemetry.
- Defaults to
AUTOmeaning the SDK will decide whether the span should be bound to the current scope. It will not bind transactions to scope usingAUTO, it will only bind spans where the parent span is on the current scope. ONsets the new span on the current scope.OFFdoes not set the new span on the scope.
Fixes
- Replace deprecated
SimpleInstrumentationwithSimplePerformantInstrumentationfor graphql 22 (#3974) - Cache requests for Spring using Springs
ContentCachingRequestWrapperinstead of our own Wrapper to also cache parameters (#3641)- Previously only the body was cached which could lead to problems in the FilterChain as Request parameters were not available
- We now hold a strong reference to the underlying OpenTelemetry span when it is created through Sentry API (#3997)
- This keeps it from being garbage collected too early
- Close backpressure monitor on SDK shutdown (#3998)
- Due to the backpressure monitor rescheduling a task to run every 10s, it very likely caused shutdown to wait the full
shutdownTimeoutMillis(defaulting to 2s) instead of being able to terminate immediately
- Due to the backpressure monitor rescheduling a task to run every 10s, it very likely caused shutdown to wait the full
- Improve ignored check performance (#3992)
- Checking if a span origin, a transaction or a checkIn should be ignored is now faster