JetBrains Rider 2024.3 Help

Cross-Workspace Comparison View

Cross-workspace comparison is a comparison of snapshots stored in different workspaces (or, in other words, snapshots collected in different profiling sessions).

As dotMemory is unable to match the lifetimes of objects from different profiling sessions, the Cross-workspace comparison view will not show you data on new or collected objects. It only matches existing objects (the ones that survived garbage collection) by their type.

The Cross-workspace comparison view shows data in a list with the following columns:

Name

Description

Type

Type name.

Objects (A)

The number of instances that exist in the first snapshot (marked with the A letter).

Objects (B)

The number of instances that exist in the second snapshot (marked with the B letter).

Objects delta

The difference between the number of objects in A and B.

Bytes (A)

The overall size of objects in the first snapshot (marked with the A letter).

Bytes (B)

The overall size of objects in the second snapshot (marked with the B letter).

Bytes delta

The difference between the size of objects in A and B.

Example

For a better understanding of how cross-workspace comparison differs from the comparison of snapshots collected in one session, let us use the same example we used in the Comparison View section.

Example

Group 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 Namespace

Object sets are grouped by their namespace. This type of grouping is very convenient when you want to concentrate on 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.

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.

Filter objects in the list

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 sets that don't match the pattern from the list.

Last modified: 11 July 2024