background image
<< Exporting a Report to HTML | Method Snapshots >>
<< Exporting a Report to HTML | Method Snapshots >>

Memory Profiling for Java

Test RealTime - User Guide
Memory Profiling for Java
Run-time memory problems are among the most difficult errors to locate and the
most important to correct. The symptoms of incorrect memory use are unpredictable
and typically appear far from the cause of the error. The issue often remain
undetected until triggered by a random event, so that a program can seem to work
correctly when in fact it's only working by accident.
That's where the Memory Profiling feature can help you get ahead.
You associate Memory Profiling with an existing test node or Application code.
You compile and run your application.
The application with the Memory Profiling feature, then directs output to the
Memory Profiling Viewer, which provides a detailed report of memory issues.
The Java version of Memory Profiling differs from other programming languages,
among other aspects, by the way memory is managed by the Java Virtual Machine
(JVM). The technique used is the JVMPI Agent technology for Java.
How Memory Profiling for Java Works
When an application node is executed, the source code is instrumented by the Java
Instrumentor (javi). The resulting source code is then executed and the Memory
Profiling for Java feature outputs a static .tsf file for each instrumented source file and
a dynamic .txf file.
These files can be viewed and controlled from the Test RealTime GUI. Both the .tsf
and .txf files need to be opened simultaneously to view the report.
Of course, these steps are mostly transparent to the user when the test or application
node is executed in the Test RealTime GUI.
Memory Profiling Results for Java
After execution of an instrumented application, the Memory Profiling report
In the Report Explorer window: a list of available snapshots
In the Memory Profiling window: the contents of the selected Memory Profiling
Report Explorer