Generating a Thread Dump

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

If Confluence is performing poorly, behaving unexpectedly or stops responding and you can generate a thread dump to help diagnose the cause of the problem. Including a thread dump can be very useful to the Atlassian Support team when investigating your problems. 

The thread dump shows the current state of each thread in the JVM, including a stack trace, so it needs to be taken while the application is experiencing problems. 

Information about what locks are being held and waited upon by a thread are not included in the simple thread dump that you can generate from within Confluence. If you need this additional information, you'll need to generate a thread dump externally.

On this page:

Security considerations

To help when debugging a problem, Confluence provides stack traces through the web interface when an error occurs. These stack traces include information about what Confluence was doing at the time, and some information about your deployment server.

This includes information such as operating system and version and Java version. With proper network security, this is not enough information to be considered dangerous. The username of the current user may be included.

Thread dumps include usernames and URLs by default. If you don't want to include this additional diagnostic information, you can disable Thread diagnostics.

Generating a set of thread dumps within Confluence using Java Flight Recorder (JFR)

To generate a set of thread dumps:

  1. Go to Administration  > General Configuration > Troubleshooting and support tools
  2. Select Create Support Zip
  3. Make sure Include runtime diagnostics data is selected (you can deselect any other options that you don't want to include – if you're creating the support zip to provide to Atlassian Support, we recommend including as much information as possible)
  4. Select Create

(info) When a Support zip is being created, a new binary .jfr file will be created in the <Confluence-Home-Directory>/log/jfr folder.

This latest .jfr binary file and thread dumps that are extracted from it will be included in the Support zip file (under jfr-bundle folder). This set of extracted thread dumps are already in human-readable format and can be parsed by common thread analysis tools, for example TDA, IBM TMDA (JCA) or Samurai.

JFR is bundled in Confluence Data Center and Server 7.20 and newer (via Troubleshooting and Support Tools app), and continuous diagnostic data recording begins as soon as you start up your instance.

For more information on this, please refer to our Diagnosing runtime issues using the Java Flight Recorder documentation.

Generating a thread dump externally

If Confluence stops responding or you require information on locks being held and waited upon by threads, then use one of methods described in Generating a Thread Dump Externally.

Our support team may ask you to use this method if the simple thread dump generated within Confluence does not include enough information to diagnose the problem.

Generating a thread dump using the Performance Data Collector

The Performance Data Collector is a server-side, standalone application that exposes a number of REST APIs for collecting performance data. It can be used to collect data, such as thread dumps, disk speed and CPU usage information, to troubleshoot performance problems.

See How to use the Performance Data Collector for more information. 

Last modified on Aug 22, 2023

Was this helpful?

Provide feedback about this article
Powered by Confluence and Scroll Viewport.