opentelemetry
- Measuring OpenTelemetry Overhead Without Fooling Yourself
What OpenTelemetry costs a Spring Boot app in MiB and CPU per order, and the proofs each test cell needed before its number counted.
- The Config I Measured Was Not the Config That Ran
A Spring Boot native image never got its telemetry config file, and optional: kept quiet. Plus a compose run that swapped the app before a load test.
- Spring Boot 4 Keeps a Tracer With Tracing Off
In Spring Boot 4, management.tracing.enabled=false binds to nothing. The replacement switches off export, not the Tracer bean.
- Counts Match, Dashboards Don't: OTel Agent vs Starter
Swapping the OTel Java agent for a starter, which native requires, kept every exact count. Names, units, labels and buckets moved. What breaks, per target.
- Java 25 Changes Your Telemetry in Strings, Not Code
A 21 to 25 move compiles fine. Then ZGC series rename, pinning metrics go quiet, -javaagent sidelines the AOT cache, and going native on top drops GC metrics.