-javaagent flag, it intercepts and transforms application bytecode on-the-fly—requiring zero code changes, zero annotation wrappers, and zero compilation modifications.
Technical Prerequisites
- Runtime: Java 11 or later (compatible with Oracle HotSpot, OpenJDK, Corretto, Temurin).
- Metadata: Active git commit SHA (mandatory for resolving bytecode offsets to local lines).
- Agent Jar: The
hyperprobe-agent.jarartifact. You can view and download all releases from Maven Central (Sonatype).
Downloading the Agent
Before attaching the agent, download thehyperprobe-agent.jar file. You can fetch it directly using curl or wget (be sure to replace <LATEST_VERSION> with the current version from Maven Central):
curl
wget
Installation & Deployment
Attach the agent at startup using the standard-javaagent flag. To adhere to twelve-factor principles and prevent configuration leakage, the Java agent reads setup parameters exclusively from environment variables.
Deployment Templates
- Docker Multi-Stage Build
- Kubernetes Manifest
It is best practice to download the agent jar during build-time and bake the Git commit into the final image:Build the image in your pipeline by passing the active commit:
Dockerfile
🛠️ Build-Tool & Framework Setup
Attach the JVM agent inside your development environment to test probes locally before deploying.- Gradle (Kotlin DSL)
- Gradle (Groovy DSL)
- Maven (pom.xml)
Add the agent args to your standard Spring Boot run tasks inside
build.gradle.kts:build.gradle.kts
Memory Safety Shields
Because bytecode injection could theoretically impact Heap health on heavy memory spikes, the Java Agent includes an active Memory Guardrail:- Yellow Threshold (Free Memory < 15%): Logs a warning and paces serialization buffers.
- Red Threshold (Free Memory < 5%): Instantly uninstalls and suspends all in-memory probes to shield your JVM from Out-Of-Memory (OOM) failures.
- Auto-Recovery: Resumes instrumentation automatically once GC recovers memory health and active cooldown cycles end.
