Hypertrace distribution of OpenTelemetry Java agent.
This agent supports these frameworks and adds following capabilities:
- capture request and response headers
- capture request and response bodies
- execution blocking based on Open Policy Agent
List of supported frameworks with additional capabilities:
| Library/Framework | Versions |
|---|---|
| Servlet | 2.3+ |
| Spark Web Framework | 2.3+ |
| gRPC | 1.5+ |
| OkHttp | 3.0+ |
make buildThe final artifact is in javaagent/build/libs/hypertrace-agent-<version>-all.jar
HT_EXPORTING_ADDRESS=http://localhost:9411/api/v2/spans java -javaagent:javaagent/build/libs/hypertrace-agent-<version>-all.jar -jar app.jarBy default the agent uses Zipkin exporter.
The configuration precedence order
- OpenTelemetry Agent's trace config file
OTEL_TRACE_CONFIG/otel.trace.config - OpenTelemetry system properties and env variables
- Hypertrace configuration with the following precedence order:
- system properties
- environment variables, TODO add link to agent-config repo
- configuration file, specified
HT_CONFIG_FILE=example-config.yaml
Hypertrace body/headers capture can be disabled by:
HT_DATA_CAPTURE_HTTP_BODY_REQUEST- disables additional data capture for all instrumentationsHYPERTRACE_INTEGRATION_<integration>_ENABLED- disables capture for a specified instrumentation e.g.servlet,servlet-3
Tests use docker via Testcontainers.org.
When running tests from IDE set SMOKETEST_JAVAAGENT_PATH env variable.
make test