Skip to content

java-rust-glowroot-agent 0.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Aug 08:12
· 52 commits to master since this release

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.1 and rejects any native ABI other than 28.
  • The Spring Boot starter packages clean rust-spring v4.4.2 standalone 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; exact 5xx and 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 RustGlowrootFilter type 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.md
  • spring-boot-production-gate-summary.json
  • spring-boot-steady-memory.json
  • spring-boot-warmup-stability.json
  • rust-java-rest-production-gate.md
  • rust-java-rest-production-gate-summary.json
  • rust-java-rest-steady-memory.json
  • rust-java-rest-warmup-stability.json
  • rust-java-rest-protocol-gate-summary.json

Every binary, JAR, and evidence file is covered by the attached SHA256SUMS manifest.