Skip to content

Java

Instrument your Java applications to send traces to Kopai using the OpenTelemetry Java agent.

The OpenTelemetry Java agent provides zero-code instrumentation - no code changes required.

Terminal window
curl -L -O https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar

Set environment variables and run with the agent:

Terminal window
export OTEL_EXPORTER_OTLP_ENDPOINT="https://otlp.kopai.app"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer YOUR_TOKEN"
export OTEL_SERVICE_NAME="my-java-service"
java -javaagent:opentelemetry-javaagent.jar -jar your-app.jar
VariableDescription
OTEL_EXPORTER_OTLP_ENDPOINTKopai OTLP endpoint
OTEL_EXPORTER_OTLP_HEADERSAuth header with your backend token
OTEL_SERVICE_NAMEName shown in Kopai UI

The Java agent automatically instruments:

  • HTTP - Spring MVC, JAX-RS, Servlet, Netty, OkHttp
  • Databases - JDBC, Hibernate, MongoDB, Redis, Cassandra
  • Messaging - Kafka, RabbitMQ, JMS
  • Frameworks - Spring Boot, Quarkus, Micronaut, Vert.x
  • Runtime - JVM metrics, garbage collection, thread pools

See the full list of supported libraries.

For a complete working example:

Java Example

  1. Verify the agent is loaded: look for [otel.javaagent] in startup logs
  2. Check OTEL_EXPORTER_OTLP_ENDPOINT is set correctly
  3. Verify token in OTEL_EXPORTER_OTLP_HEADERS
  • Ensure -javaagent flag comes before -jar
  • Check Java version: agent requires Java 8+

Enable agent debug logs:

Terminal window
export OTEL_JAVAAGENT_DEBUG=true