The call tracer shows a multi-threaded chronological sequence of method calls.
To record call traces, click Record call traces in the tool bar or select View->Record Call Traces from JProfiler's main menu. If you have previously recorded call traces, the old recorded data will be lost. Bookmarks will be added when recording is started or stopped manually. Please note that recording call traces can generate massive amounts of data in a very short time. To avoid problems with excessive memory consumption, a cap is set on the maximum number of collected call traces. That cap is configurable in the view settings. The amount of collected traces heavily depends on your filter settings. Also see the help topic on method call filters for background information. By default, calls into unprofiled classes are recorded, similarly to the default behavior of the hot spots view. Calls into filtered classes can be excluded in the view settings. Call tracing only works when the method call recording type is set to "dynamic instrumentation". Sampling does not keep track of single method calls, so it is technically not possible to collect call traces with sampling. |
To facilitate navigation, all method calls are grouped in a tree on three levels:
At the lowest level there are method entry and method exit nodes. If call traces into other methods have been recorded from the current method or if another thread interrupts the current method, the entry and exit nodes for the that method will not be adjacent. Initially, all nodes are collapsed, so you see a sequence of thread nodes after the traces have been recorded.
You can navigate on the method level only by using the
skip to next method trace ( |
Each node displays the following information:
|
Below the table with the call traces, a stack trace list shows you the stack trace of the currently selected method trace. You can double-click on the stack trace element to show the source code. The context menu gives you access to source and bytecode navigation. |
A huge number of traces can be collected in a very short time. To eliminate traces that are of no interest,
the call tracer allows you to quickly trim the displayed data. For example, traces in certain threads
might not be interesting or traces in certain packages or classes might not be relevant. Also, recursive method invocations
can occupy a lot of space and you might want to eliminate those single methods only.
You can hide nodes by selecting them and pressing the delete key. All other instances of the selected nodes and all associated child nodes will be hidden as well. You can select multiple nodes and delete them together. Alternatively, you can select the hide selected nodes action from the toolbar or the context menu. To show hidden nodes again, you can click on the show hidden button or select View->Show Hidden from the main menu to show the show hidden elements dialog. |