The Comparison view shows data in a list with the following columns:
|Survived objects||The number of instances that exist in both snapshots.|
|New objects||The number of new instances that were created between snapshots.|
|Dead objects||The number of instances that existed in the base snapshot but were collected by the moment of taking a second snapshot.|
|Objects delta||The difference between the number of new and dead objects.|
|Survived bytes||The overall size of survived objects in bytes.|
|New bytes||The overall size of new objects in bytes.|
|Dead bytes||The overall size of dead objects in bytes.|
|Bytes delta||The difference between the size of new and dead objects.|
Grouping Object Sets
For convenience, you can group the list in four different ways:
- Plain List
Object sets are displayed in a plain list. This is the easiest way to identify objects with the highest memory usage.
- Group by Interface
Object sets are grouped by interfaces they implement. If an object implements more than one interface, it will be displayed under each implemented interface.
- Group by Namespace
Object sets are grouped by their namespace. This type of grouping is very convenient when you want to concentrate in determining issues in your own classes.
- Group by Assembly
Objects are grouped by the assembly they come from. This type of grouping can also be used to separate your own classes from the system ones.
You can filter out object sets that are of no interest for your analysis.
To narrow the list:
- Start typing the desired type name in the Filter field.
dotMemory will exclude all objects that don't match the pattern.
Selecting Objects for Further Analysis
In the Comparison view, you can select the following subjects for further analysis:
- Survived objects;
- New objects;
- Dead objects.
To select survived/new/dead objects:
- Click the number in Survived objects/New objects/Dead objects against the desired type name.
- In the opened dialog, select a snapshot where you want to analyze the object set.