Skip to content

java-rust-glowroot-agent 0.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 19:22
· 56 commits to master since this release

java-rust-glowroot-agent 0.2.0

This release adds a production-gated Spring Boot MVC path while keeping the existing Rust-Java REST
integration unchanged. Java controllers, handlers, services, validation, and database code remain
in Java.

What users get

  • A Spring Boot starter with one low-allocation Servlet filter and no bytecode weaving.
  • Exact HTTP 5xx counting and bounded sampling for successful requests.
  • A standalone Rust exporter with one bounded thread and one reused h2 collector connection.
  • The existing embedded Rust-Java REST path with no additional telemetry thread.
  • Process RSS, thread, HTTP, native Dubbo, native Redis, reconnect, failure, and drop metrics.
  • Clean Windows x64 and Linux glibc x64 native libraries with SHA-256 provenance.

Spring Boot MVC quick start

<dependency>
  <groupId>com.reactor</groupId>
  <artifactId>java-rust-glowroot-spring-boot-starter</artifactId>
  <version>0.2.0</version>
</dependency>
reactor.glowroot.enabled=true
reactor.glowroot.collector.address=http://glowroot-collector:8181
reactor.glowroot.agent.id=orders::pod-1
reactor.glowroot.application.name=orders-api
reactor.glowroot.http.sample-rate=256
reactor.glowroot.trace.capacity=0

No controller annotation or business API changes are required. Version 0.2.0 supports Spring
Servlet MVC. It does not support WebFlux or full Glowroot Java-method/JDBC instrumentation.

Rust-Java REST quick start

Use the coordinated rust-java-rest:4.4.0 line and enable reactor.glowroot.* properties. The
framework reuses its existing Rust runtime, so this path adds no telemetry thread. The optional
java-rust-glowroot-agent:0.2.0 bootstrap is needed only when your platform requires
-javaagent:key=value syntax.

Production contract

The release workflow accepts only a tag commit that passed the exact-commit production gate. The
gate compares telemetry off/on in the same Spring image with six randomized paired runs across
small JSON, raw/precomputed JSON, and dynamic heavy JSON at c64 and c256. Every cell must remain
inside the documented RPS, p99, error, thread, and startup limits. The equal-process-age memory
phase separately enforces the +3 MiB RSS and cgroup boundary after the complete workload.

The exact report, JSON summary, and steady-memory samples are attached to this release. They are
downloaded from the successful Production Gate run for this tag commit, not copied from a local run.

See the repository README and docs/VALIDATION.md for the measured evidence, package-auth setup,
Kubernetes configuration, tuning recipes, and unsupported boundaries.