Under the Shortest root paths tab page, information about the shortest root paths for all live instances of the type is presented. The shortest root paths page is not available for unmanaged resources.
The root paths presented here combine the shortest root path of each instance by only looking at the types that are part of the root path, not the actual instances.
Example:
Assume that two instances of the type ItemClass (#123 and #141) exist and that they have the following shortest root paths (where ContainerClass.allContainers is a static field).
ItemClass (#123) ItemClass (#141)
ContainerClass (#456) ContainerClass (#560)
ArrayList (#193) ArrayList (#193)
ContainerClass.allContainers ContainerClass.allContainers
Since only managed type information is used, these two root paths can be combined into one:
ItemClass
ContainerClass
ArrayList
ContainerClass.allContainers
This combined root path will have two live instances when presented under shortest root paths.
For more information about root paths, see Root path.
Sort root paths by
The Sort root paths by field is used to define the order of the root paths. Below is a list of all the possible options; however, the available options depend on the selected field set and whether the type is a disposable class.
The options are:
•
Live instances
Shows the root paths with the most live
instances first.
•
New live instances
Shows the root paths with the most new live
instances first.
•
Live bytes
Shows the root paths with the most live bytes
first.
•
New live bytes
Shows the root paths with the most new live
bytes first.
•
Disposed instances
Shows the root paths with the most disposed
instances first.
• Memory leak instances
Shows the root
paths with the most memory leak instances first.
Hide root paths with zero sort value
If this checkbox is checked, then all root paths for which the sort value is zero will be hidden.
Truncate root paths
It is possible to truncate the root paths at a specific depth. This provides the possibility of combining combine the instance information from several root paths into a single root path. If root paths are truncated, the Depth field specifies the maximum depth of the root path. The following ways of truncating the root paths are available:
•
At root
A root path will be truncated when the depth
counted from the instance has reached the maximum value. The truncated root path
will not contain the actual root, since it will end with a [Truncated]
entry.
• In
the middle
A root path will be truncated in the middle when the depth
counted from both the instance and the root has reached the maximum value. The
truncated root path will contain both the actual root and the entry closest to
the instance. A [Truncated] entry will be added in the middle.
• At
instance
A root path will be truncated when the depth counted from the
root has reached the maximum value. The truncated root path will not contain the
entries closest to the instance, since it will start with a [Truncated]
entry.
Example:
Consider the following instance root paths.
ItemClass (#123) ItemClass (#141)
ContainerClass (#456) ContainerClass (#560)
AnotherClass (#129) AnotherClass (#443)
ArrayList (#193) ContainerClass (#543)
ContainerClass.allContainers ArrayList (#193)
ContainerClass.allContainers
If the root paths are truncated at a depth of two, then both root paths can be combined into one (regardless of how the roots are truncated). Below is an example of how the roots are combined depending on the truncation.
At
instance:
[Truncated]
ArrayList
ContainerClass.allContainers
In the
middle:
ItemClass
[Truncated]
ContainerClass.allContainers
At
root:
ItemClass
ContainerClass
[Truncated]
On the other hand, if the root path depth is set to three, the root paths cannot be combined if At instance is selected:
At
instance
(1):
[Truncated]
AnotherClass
ArrayList
ContainerClass.allContainers
At
instance
(2):
[Truncated]
ContainerClass
ArrayList
ContainerClass.allContainers
Only include identified roots
The Only include identified roots checkbox can be used to include only root paths that end in an identified root.
Root path
The Root path group box is used to present a single root path. The text box to the right of the label can be used to select which root path to show, or it can be selected using the up-down control.
Below the root path, an info panel is used to present information about the instances referenced by the root path. The fields presented include:
• Live instances
• New live instances
• Live bytes
• New live bytes
• Disposed instances
• Memory leak instances
Each field corresponds to one of the columns presented under the Types/Resources page, except New live bytes. New live bytes is the number of bytes used by new live instances, and it is presented only for call stacks and root paths.
The actual fields included in the info panel and the way they are presented depend on the selected field set and whether the selected class is a disposable class.
Select instances
When the Select instances button is clicked, entries in the Instance list to the left will be selected if the shortest root path of the instance is part of the combined root path.
Show call stacks for path
|
.NET Memory Profiler User Manual © Copyright 2002-2008. SciTech Software AB. For information about .NET Memory Profiler, see the product site at http://memprofiler.com .NET Memory Profiler is developed by SciTech Software AB
|