On this page:
A diagnostic action can:
When performance is slow or your application is experiencing a lot of errors you can start a diagnostic action to get to the root cause.
A diagnostic session gives you a view into captured transaction snapshots with full call graphs. These snapshots help you diagnose violations of business transaction performance health rules or slow or stalled transaction events. The affected entity of the event triggering a diagnostic session must be a business transaction.
A thread dump is a general-purpose snapshot of the state of all threads that are part of a JVM process. The state of each thread is presented with a stack trace that shows the contents of each thread’s stack. Thread dumps are used for diagnosing JVM performance problems, such as code deadlocks.
The results of a diagnostic action that has executed are available in the events list for the event that triggered the action.
In the Events list, locate the row for the event that triggered the action for which you want to see the results.
In the Actions column:
On disk, the thread dumps are stored in the app_agent_operation_logs directory in the controller home. The files are named based on the ID in the app_agent_operation table.
Threads identified by "AD Thread" are threads initiated by AppDynamics app agent code.
A diagnostic session is always associated with a business transaction. It shows transaction snapshots with full call graphs to help you drill down to the root cause of a problem.
You can direct the Java Agent to take a thread dump for a specified number of samples (maximum of 50) with each sample lasting for a specified number of milliseconds (maximum of 500 ms). The thread dump is executed on the node monitored by the agent.
One thread dump operation is executed at a time. They are not executed in parallel. If additional thread dump requests are received while one is being executed, they are queued with a limit of five per agent.
If the five thread dumps per agent limit is exceeded, the console shows an event with a thread dump operation that was skipped because of the limit and the associated action dialog for the executed policy links to this event.
When a thread dump action is triggered by a backend discovery event, if the backend is not resolved quickly the policy will not start the thread dump.