The Total Memory Comparison dashlet compares the instance counts, shallow sizes, and GC sizes of multiple Memory snapshots. If you compare Trending snapshots and Leak Analysis snapshots, there are no values for GC sizes for Trending snapshots.
To access the dashlet, select two snapshots in the Total Memory dashlet, and click Compare in the lower pane.
The upper table contains all the classes that are in the snapshots with the comparison data. AppMon only shows classes with instances and comparisons that have differences. Use the toolbar in the upper left corner to change to filter for maps, collections, and arrays. Expand a class to show the corresponding values for each compared snapshot. The table contains the following columns:
- Class/Instance: Contains the corresponding compared class or the corresponding the value for this class in the corresponding snapshot on second level.
- Instance Count: Average number of instances for this class. For the second level, it's the number of instances in the corresponding snapshot.
- Instance Delta: The absolute difference of the number of instances for the oldest to the newest Snapshot.
- Average Instance Delta per second: The average change of the number of instances per second. See Average Delta per second for more information.
- GC Size: For classes, the average garbage collection size. For individual snapshots on level two, the corresponding GC size of the class in this snapshot. This value is not available for Trending snapshots.
- Class GC Size Delta: The absolute difference in garbage collection size between the oldest and the newest snapshot of the corresponding class. This value is not available for Trending snapshots.
- Average GC Size Delta per second: The average change of the garbage collection size per second (see Average Delta per second, below) for the corresponding class. This value is not available for Trending snapshots.
- Shallow Size: The average sum of the shallow sizes of all instances of the class. For second level records, the shallow size of this class in the corresponding snapshot.
- Shallow Size Delta: The absolute difference of the Shallow Size of the class between the oldest to the newest snapshot.
- Average Shallow Size Delta per second: The average change of the Shallow Size per second of this class (see Average Delta per second, below).
Average delta per second
The Average Delta per second values for instances, GC size, and shallow size show the change rate of the corresponding value over time. For example, +4.23MB for GC size means that in average, the GC size of all instances of a class increased by 4.23MB per second. This value is heavily influenced by the time between the individual snapshots. For example, if you have two hypothetical snapshots where the GC size for class A is 100MB and 200MB, and these snapshots have a time difference of 100 seconds, the average GC size delta per second is +1MB. If you have the same GC sizes with two snapshots that have a time difference of only 25 seconds, the average GC size delta per second is +4MB.
Create a Memory sensor rule
Use the class record Create Memory Sensor Rule context menu to define Memory Sensor rules. Use this to create Sensor rules to grow classes for further Selective Memory dashlet analysis. This analysis shows where, in code, the corresponding instances are allocated, as well as where this allocations occurred along a PurePath.
Class comparison chart
If you select a class in the upper pane of the dashlet, the lower pane shows a chart of the currently selected measure of the selected class. You can adapt the corresponding measure (instance count, GC size, or shallow size) with the filter toolbar in the lower pane. You can chart a maximum of 25 classes simultaneously.