JVM Support

The AppDynamics Java Agent uses the standard JVM Tool Interface (JVMTI) mechanism allowing it to instrument any software running on a JVM supporting this mechanism.

AppDynamics certifies the successful operation of the basic mechanisms of instrumentation used by the agent on the following Java runtimes. These capabilities are supported on both JRE or full JDK installations.

Object instance tracking, automatic leak detection, and custom memory structure monitoring are not supported with the AppDynamics IBM Java Agent. IBM JVMs can be instrumented with the AppDynamics Sun Java Agent to work around this limitation, however this only enables automatic leak detection and custom memory structure monitoring. Object instance tracking is not available. Working around this limitation can result in negative performance impact and is not recommended. In such cases, the IBM JVM needs to be restarted to enable custom memory structure monitoring.

Oracle Rockit JVM 28.1+

Linux Intel 64, Windows

Oracle/BEA JRockit 1.6

Oracle/Sun JVM 1.6, 1.7, 1.8, 9, 10, 11

JDK11 is supported from 4.5.6 onwards

Solaris Sparc 64, Windows, Linux

OIT, ALD, CI, AT

Content Inspection and Access Tracking require a JVM restart.

OpenJDK 1.6, 1.7, 1.8, 1.9, 10, 11

JDK11 is supported from 4.5.6 onwards

OIT, ALD, CI, AT

Content Inspection and Access Tracking require a JVM restart.

SAP JDK 6+

Windows, Solaris, Linux, HP-UX, i5/OS, AIX

JVM Application Server and Framework Support

AppDynamics supports the use of the Java Agent to instrument any application component running on a supported JVM, irrespective of how that component is built. The power of the AppDynamics platform is that it can automatically discover the topology and behavior of complex enterprise applications without requiring deep technical knowledge of the application's underlying code.

Frequently, Java-based systems employ standard framework code to implement business logic. Automatic instrumentation of framework code relies on knowledge of the business logic and programming patterns employed by the framework. AppDynamics instrumentation targets processing hand-offs between components, called entry points and exit points, either within the JVM or between JVMs. This includes hand-offs between frameworks in cases where multiple frameworks are being used together. This section covers the capabilities for frameworks for which AppDynamics provides automatic detection rules.

Monitoring application components built using frameworks not listed here may require custom configuration. The custom configuration may involve, for example, custom POJO entry or exit points. If you understand how the application behaves internally, you can easily configure this type of instrumentation. For more complex configuration tasks, contact your account representative to discuss how to engage the AppDynamics customer success organization.

JVM Language Frameworks Support

No additional configuration is required for these frameworks.

Vendor

JVM Language Framework

Version

Correlation/Entry Points

Exit Points

Transports

Notes

Open Source

Akka Actor

2.1 – 2.4.x

Yes

Yes

Netty

4.3.1 required for 2.4.x

2.4x support includes Persistence

Remoting exit/entry supported

Open Source

Akka HTTP

Akka Actor 2.4.x

Akka HTTP upto 10.1.5

Scala 2.11, 2.12

Yes

Yes

HTTP

EUM is supported

Open Source

Groovy

-

Yes

Yes

Open Source

Play for Scala

Play for Java

2.1 – 2.6

Scala 2.11, 2.12

Yes

-

HTTP over Netty server

Akka HTTP server

Includes framework specific entry and exit points

Play EUM-APM correlation supported

Open Source

Scala

2.11.6

Open Source

Spray toolkit (Spray.io)

1.1.x

1.1.3

Yes

Yes

HTTP

Entry points are detected and configurable as servlet entry point and exit points as HTTP exits

Pivotal

Grails

-

-

-

-

Java Frameworks Support

The Java Agent supports these Java frameworks. Some require additional configuration as indicated in the Configuration Notes column.

Application Servers

The Java Agent supports the following application servers. Some require additional configuration. Click the link on the server or OSGi Runtime for information about additional requirements or related configuration topics. The agent usually discovers application servers as an entry point.

Message Oriented Middleware Support

The Java Agent supports the following message oriented middleware environments. Some require additional configuration as indicated in the Configuration Notes column. Message oriented middleware servers are usually found by the Java Agent as an entry point.

NoSQL/Data Grids/Cache Servers Support

The Java Agent supports these NoSQL, data grids and cache server environments. Some require additional configuration. Click the link on the database, data grid or cache name in the following support matrix for information about additional configuration required or related configuration topics.