|
Finding performance bottlenecks within your Java application is a bit of a detective's work. You know what the symptoms of the problem are, for example, the application is running really slow but the CPU isn't saturated. Where to start looking for clues to such an issue is tricky since most profiling tools for Java applications only pinpoint where in the code your application is spending the most time to run (which is a good start). What these tools tend to miss, however, or not show at all is where in the application stops and waits occur, i.e. where the application spends time being idle.
These stops and waits can be caused by poor memory management, such as limited heap space or a poorly managed heap that requires too many garbage collections. On the other hand the stops and waits can be latencies caused by multi-threaded applications that spend much of the processor time waiting, blocking, or sleeping. These problems have previously been hard to detect but now the JRA system is able to record latencies within your application and visualize running threads with their events in an easy to understand manner.
This section of the help gives you an overview of how you can use the latency tabs in the JRA Tool to work you way down to a Java application latency. In addition, you get one example of how a Java application that contains latencies looks on the Latency Graph tab and you will get an example workflow of how to use all latency tabs together. All in all, you now have a greater possibility to pinpoint where in the code waits and other latencies occur with the JRA latency capabilities.
This section is divided into the following topics:
|