6.4.1Troubleshooting Smile CDR

 

This page contains helpful information about how to troubleshoot steps.

6.4.1.1Logging

Smile CDR provides a rich set of logging tools. See the Logging reference documentation for details.

6.4.1.2Thread Dumps

In cases where Smile CDR is seemingly hung, slow, unresponsive, etc., it can be useful to capture a Thread Dump, which is a snapshot of what every thread in the Smile CDR process is currently doing.

In some cases it may be helpful to review this yourself (e.g. if you are using Hybrid Providers and are looking for insight into what your Hybrid Provider code is doing) but in most cases it is good to review this with someone from the Smile CDR team.

6.4.1.2.1Method 1: Via the JSON Admin API

Note that this method was added in Smile CDR 2019.11.R01.

The JSON Admin API can be used to capture a thread dump on the same process as the API is running.

To capture the thread dump, you should invoke the Metrics - Thread Dump Endpoint. This is done with a URL such as the following: http://localhost:9000/metrics/local/threads

The response will be a text block consisting of the entire thread dump. It should be downloaded as a text file for sharing.

Note that you can also request that the dump be written to the logs by using the parameter writeToLog=true.

6.4.1.2.2Method 2: From the Command Line

To take a thread dump from the command line:

  • Determine the process ID for the Smile CDR process

    $ jps
    
    21361 App
    4988 Jps
    

    In the example above, the process ID for Smile CDR is 21361.

  • Capture a thread dump using the jstack command.

    jstack 21361 > threads.txt
    

    The command above will capture a thread dump and export it to a file called threads.txt.

6.4.1.2.3Reviewing a Thread Dump

While we generally recommend contacting Smile CDR support for assistance in reviewing Smile CDR Thread Dumps, we do recommend the excellent free tool available at https://jstack.review for this process as well.