Instrumenting your code in CI/Staging or the terminal
Connecting Digma to your CI environment requires deploying Digma centrally in your org.
The most straightforward way to instrument your application is simply to download the OTEL agent and Digma Extension files and then set some environment variables and system properties so that they can instrument the Java process.
1. Create a CI/Prod environment using the Digma UI:
Start by creating an environment using the Digma Observability panel. Give the environment a meaningful name and select the CI/Prod environment type.
2. Update your build file or deployment script
You can use the below or similar logic to download the OTEL agent and set the environment variables to instrument the application.
Substitute the following values:
Replace
[
DIGMA_COLLECTOR_URL]
with your Digma Collector-API address. If you're running Digma locally this would be http://localhost:5050 by defaultMake sure to substitute
[SERVICE_NAME]
with your application name:Substitute the
[ENVIRONMENT_NAME]
value based on the environment identifier in Digma. To retrieve the environment identifier see the instructions on the environment page.If you would like to use HTTP rather than GRPC as the collector protocol, simply change the following argument above:
-Dotel.exporter.otlp.protocol=http
Optional: Tracking code changes- Adding Commit hashes to your observability
When new, unexpected, or regression issues are detected, it is helpful to be able to track them in you gi history. Adding the commit history to the traces will allow Digma to narrow down which code changes might be responsible for different problems.
To add the commit identifier to your traces, set the following Resource Attribute: scm.commit.id
on the trace. The easiest way to do it is via an environment variable. If you can access the commit from your CI, you can add an update row 8
above with the new attribute. Here is an example for implementing that in a Github Action:
This information will be used when identifying issues. For example, here is the ticket information for a specific issue found by Digma:
Last updated