
When you configure your profiling session, you can perform various analyses on the memory usage of the application.
More information: Creating and Starting New Sessions
You can set the following analyses for memory usage. You can find out what properties for your application the different functions determine in Basic Concepts and Functions.
Tab page Memory 1:
Object allocation
Class statistics
Reference chains
Local VM garbage collection
Shared Garbage Collection
Tab page Memory 2:
Shared closure operations
The majority of analyses have other filter parameters that restrict the data collection to specific objects or restrict the quantity of data. These filters are:
Trace Active: This checkbox activates the relevant analysis.
Class Filter: This input field allows the data for collection to be restricted to one or more specific class(es) or package(s). Wild card characters and logical expressions may be used. You would specify one single class by entering its name directly. To input several classes or (part) packages, you can choose the input help button to display a popup in which you can enter the classes. The logical expression is automatically created. The F1 help for the input field explains in detail the syntax used for the class names and logical links.
Stack Frames: If the output of a method location is part of the analysis data, this is saved in the form of a Java stack dump. With this number n you can restrict the memory of the Java stack to the uppermost n frames, which saves memory space and evaluation time. The default value 9.999 should normally suffice to deliver the complete stack. A restriction is of course only useful if you can be sure that the calling point in the application can be uniquely identified using the upper n frames.
Interval (for class statistics): With this value you can specify the age groups in which the objects are divided into for recording the class statistics (see above). The default value is 5 and indicates that the objects are divided into groups that have "survived" 1-5, 6-10, 11-15, etc. number of garbage collections, that is, objects still referenced afterwards. The smaller the value, the more exactly you can determine the life span of objects, but the more analysis data is accumulated.
Display Shared Closure Roots (for reference chains): If you activate this flag, the reference chain includes those objects that reference a shared object, and also the references within the shared closure containing the shared object.
Operation (for shared closure operations): The operations recorded for the shared closures depend on the switches:
Create
Copy
Map
Delete
The affected operations are listed for the Shared Closures.
Sharing Domain Name (for shared closure operations): Here you can specify - using wild cards if necessary - the names of shared closure domains that you want to be included in the data collection (positive list). If the list is empty, all the shared closure domains are included. Otherwise, the beginning parts of the names are simply compared for matches.
Filter '/a': Shared closures, for example, from domains '/a', '/ab' or '/abc/def' are returned, but not any from the root domain '/'.
Filter '/': The root domain '/' has a special position. With this filter setting shared closures in the root domain only are returned, and no closures, for examples, in domains '/a' or '/xy'.