Skip to content

This repository contains the inspectIT Gepard OpenTelemetry Extension.

Notifications You must be signed in to change notification settings

inspectIT/inspectit-gepard-agent

Repository files navigation

inspectIT Gepard Extension

Extension for the OpenTelemetry Java agent.

inspectIT Gepard is the further development of inspectIT Ocelot. While the inspectIT Ocelot Java agent is self-made, inspectIT Gepard uses the OpenTelemetry Java agent as basis and extends it with features from inspectIT Ocelot.

Installation

To build this extension project, run ./gradlew build or ./gradlew extendedAgent (no tests). You can find the resulting jar file in build/libs/.

To add the extension to the instrumentation agent:

  1. Copy the jar file to a host that is running an application to which you've attached the OpenTelemetry Java instrumentation.

  2. Modify the startup command to add the full path to the extension file. For example:

    java -javaagent:path/to/opentelemetry-javaagent.jar \
         -Dotel.javaagent.extensions=build/libs/opentelemetry-javaagent.jar \
         -Dotel.service.name="my-service"
         -jar myapp.jar

Note: to load multiple extensions, you can specify a comma-separated list of extension jars or directories (that contain extension jars) for the otel.javaagent.extensions value.

Network communication

The extension contains a client, who is able to communicate with other servers via HTTPS. You can set the server url via system or environmental properties. You have the option to use a keystore for TLS:

  1. Provide a local keystore, which contains the certificate of your server

  2. Modify the startup command to add the path to the keystore as well as the password. For example:

      java -javaagent:path/to/opentelemetry-javaagent.jar \
           -Dotel.javaagent.extensions=build/libs/opentelemetry-javaagent.jar \
           -Dotel.service.name="my-service" \
           -Dinspectit.config.http.url="https://{server-host:port}/api/v1" \
           -Djavax.net.ssl.trustStore="path\to\keystore\agent-keystore.jks" \
           -Djavax.net.ssl.trustStorePassword="password"
           -jar myapp.jar

Further Information

The repository was build upon this example project: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/examples/extension

Docker

To push a new Docker image, run the following commands:

  1. ./gradlew dockerTag
  2. docker login -u <user> -p <password>
  3. docker push inspectit/inspectit-gepard-agent:<version>

Why Gepard?

Gepard is the German name for the animal cheetah as well as an acronym for:

"Ganzheitliche, effizienz-orientierte, Performance Anwendungsüberwachung mit Reporting und Diagnose",

which means: holistic, efficiency-orientated, performance application monitoring with reporting and diagnostics.

About

This repository contains the inspectIT Gepard OpenTelemetry Extension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages