java-rust-glowroot-agent 0.2.1
java-rust-glowroot-agent 0.2.1
This stable patch closes the remaining release-evidence gap between the two supported runtime
models. Java business code and public telemetry configuration remain unchanged.
What Changed
- Rust-Java REST now has the same exact-commit production gate as Spring Boot MVC.
- The REST gate pins
rust-java-rest:4.4.1and rejects any native ABI other than28. - The Spring Boot starter packages clean
rust-spring v4.4.2standalone binaries and records the
complete 40-character source commit with platform SHA-256 hashes. - Spring MVC integration now uses a bounded MVC interceptor instead of wrapping every request in a
Servlet filter. Normal unsampled successes create no agent request object; exact5xxand async
completion behavior remain covered by tests. - The bounded Spring route cache now uses a fixed allocation-free lookup table instead of creating a
temporary composite key on every sampled request. - The public 0.2.0
RustGlowrootFiltertype remains as a deprecated manual compatibility adapter.
Auto-configuration never registers it, so it adds no class loading or request-path cost by default. - Small JSON, raw/precomputed JSON, and heavy JSON run at c64 and c256 with six paired repetitions.
- Telemetry-off and telemetry-on variants run sequentially on the same reserved physical CPU group.
- Both variants execute eight fixed warmup rounds per endpoint. Measurement starts only when the final
three-round RPS stability window passes, preventing unequal OpenJ9 warmup from biasing the result. - REST embedded telemetry must stay within
+3 MiB, add no OS thread, and remain inside the
documented RPS and p99 limits. Non-2xx may not regress in either the paired median or the
request-weighted aggregate across all six repeats, and candidate peak error rate may not exceed
baseline peak; the worst paired delta remains attached as diagnostic evidence. - Glowroot wire compatibility, collector-down fail-open behavior, and the optional
-javaagent
bootstrap are mandatory release checks. - The release workflow now refuses Maven deploy and GitHub Release publication unless both the
Spring and REST evidence artifacts pass on the exact tag commit.
Supported Combinations
| Application | Dependency | Native runtime |
|---|---|---|
| Rust-Java REST | com.reactor:java-rust-glowroot-agent:0.2.1 only when -javaagent syntax is needed |
rust-java-rest:4.4.1, REST ABI 28 |
| Spring Boot Servlet MVC | com.reactor:java-rust-glowroot-spring-boot-starter:0.2.1 |
Bundled standalone Glowroot ABI 1 runtime |
The lowest-memory Rust-Java REST setup still uses reactor.glowroot.* properties directly and does
not need the bootstrap JAR. Spring WebFlux and full Glowroot bytecode/JDBC/profiler instrumentation
remain outside this focused agent.
Evidence
The GitHub Release contains both readable reports and machine-readable summaries:
spring-boot-production-gate.mdspring-boot-production-gate-summary.jsonspring-boot-steady-memory.jsonspring-boot-warmup-stability.jsonrust-java-rest-production-gate.mdrust-java-rest-production-gate-summary.jsonrust-java-rest-steady-memory.jsonrust-java-rest-warmup-stability.jsonrust-java-rest-protocol-gate-summary.json
Every binary, JAR, and evidence file is covered by the attached SHA256SUMS manifest.