Skip to end of metadata
Go to start of metadata

AppDynamics collects and reports key performance metrics for individual threads in multi-threaded Java applications. See Trace MultiThreaded Transactions for Java for details on where these metrics are reported.

In addition to support for applications written in Java, applications running in the JVM that are written with Groovy are also supported. Groovy classes can be intercepted, servlets are detected by default, and exit calls and thread correlation are supported without any additional configuration.

Default Configuration

Classes for multi-threaded correlation are configured in the <excludes> child elements of the <fork-config> element in the <App_Server_Agent_Installation_Directory>/conf/app-agent-config.xml file.

The default configuration excludes the java, org, weblogic and websphere classes:

<fork-config>
    <!-- exclude java and org -->
    <excludes filter-type="STARTSWITH" filter-value="com.singularity/"/>
    <excludes filter-type="STARTSWITH" filter-value="java/,javax/,com.sun/,sun/,org/"/>
    <!-- exclude weblogic and websphere -->
    <excludes filter-type="STARTSWITH" filter-value="com.bea/,com.weblogic/,weblogic/,com.ibm/,net/sf/,com/mchange/""/>
    . . .

Note: The agent supports package names where the levels in the hierarchy are either separated by dots (.) or slashes (tick) . The agent converts the dots to slashes internally.

Custom Configuration

You can edit the app-agent-config.xml file to exclude additional classes from thread correlation. All classes not excluded are by default included.

You can also explicitly include sub-packages and subclasses of excluded packages and classes. Use the <includes> or <include> child element to specify the included packages and classes.

Use the <excludes> and <includes> elements to specify a comma-separated list of classes or packages. Use the <exclude> and <include> elements to specify a single class or package

Managing Thread Correlation Using a Node Property

You can also configure which classes or packages to include or exclude using a node property. See thread-correlation-classes and thread-correlation-classes-exclude.

Enabling and Disabling Asynchronous Monitoring

(warning) You should disable monitoring of multi-threaded transactions on all agents if all of your agents and your controller are not at AppDynamics version 3.6 or higher. The previous methodology for monitoring asynchronous communications was problematic. You can enable the feature after all of your agents have been upgraded.

You must restart the agent after you enable or disable this feature.

To Disable the New Method of Asynchronous Monitoring

1. In the left navigation pane click Configure->Instrumentation->Transaction Detection.

2. From the Actions menu in the upper left corner click Disable Async Monitoring.

To Disable all Asynchronous Monitoring

Set the App Agent Node property, thread-correlation-classes-exclude to disable asynchronous monitoring for all the relevant classes.

thread-correlation-classes-exclude=a,b,c,d,e,f,...z

or

Add the following line under the fork-config section of the app-agent-config.xml file.

<exclude filter-type="REGEX" filter-value=".*"/>

To Enable Asynchronous Monitoring

1. In the left navigation pane click Configure->Instrumentation->Transaction Detection.

2. From the Actions menu in the upper-left corner click Enable Async Monitoring.

Learn More