Behavior with other Java Agents

  • Updated

Running APM Agents with Contrast Java Agent

Many users run multiple agent-based technologies, such as Application Performance Management (APM) technologies, in parallel with the Contrast Java agent. Contrast has performed testing of various, known APM agents in parallel with the Contrast Java agent. If a particular APM vendor or alternative agent vendor isn't included in the list, use the Submit a ticket link above to send a message to Contrast's Customer Support team.

Important:  The Contrast agent should always be added first in the order of javaagents.  We specifically add exclusions to avoid transforming the code of common APMs like the ones listed below.  

Compatible Java Agents

Agent Status
App
Dynamics
Many versions tested without issue.
New Relic Tested daily by Contrast.
YourKit Known to work. 
CA Wily Newer versions tested without issue.
JaCoCo Contrast Java agent must be specified as the first -javaagent. Must also add excludes=com.contrastsecurity.* as an option to the JaCoCo -javaagent JVM options (for example: -javaagent:/opt/jacoco/jacoco.jar=address=*,port=6300,destfile=jacoco.exec,output=tcpserver,excludes=com.contrastsecurity.*).
DynaTrace

Newer versions tested without issue.

Glowroot

Tested daily by Contrast.

DataDog

Contrast Java agent must be specified as the first -javaagent. Must also add the following JVM argument:  -Ddd.trace.classes.exclude=com.contrast*.

Open
Telemetry
It is recommended to suppress OpenTelemetry instrumentation of Contrast classes by adding the following exclusion as either an environment variable or JVM option: OTEL_JAVAAGENT_EXCLUDE_CLASSES="com.contrast*" or -Dotel.javaagent.exclude-classes=com.contrast*

Known issues: 

  • There have been rare instances of compatibility issues with very old versions of DynaTrace, Wily and JavaMelody.
  • Delayed startup configuration options for the Contrast agent are not expected to work when multiple agents are involved. 

Was this article helpful?

1 out of 2 found this helpful

Have more questions? Submit a request