On this page:

Related pages:

Your Rating:
18 rates

AppDynamics collects and reports key performance metrics for individual threads in multithreaded Java applications.

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.

See End-to-End Latency Performance for information on viewing thread related metrics. This page describes how to configure thread monitoring.

Default Configuration

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

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

    <!-- 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 (/). 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.

Use the <excludes> element to specify a comma-separated list of classes or packages to be excluded. Use the singular form, <exclude>, to specify just a single class or package.

For includes, you must specify each package or class individually using the <include> element.

You can include a sub-package or subclass of an excluded element by specifying the sub-package or subclass with an <include> element. If a classname is matched by both an exclude and include pattern, the more specific pattern matched prevails. That it, an include match with org.example.myclass prevails over an exclude match for org.example

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.

Disable Thread Correlation at the Agent

To disable thread correlation (which will disable end to end asynchronous transaction monitoring as well) at the agent, use one of the following approaches:

  • Set the Java Agent node property thread-correlation-classes-exclude to disable asynchronous monitoring for all the relevant classes.

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

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

Restart the agent to have the change take effect. 


  • No labels