MstatSizeEntry
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
One normalized entry of an MstatSizeIndex: raw report rows aggregated under a build-stable identity key, with the structured hierarchy fields a consumer needs to place the entry in an assembly → namespace → type → leaf tree without parsing display strings.
public sealed record MstatSizeEntry : IEquatable<MstatSizeEntry>Inheritance
Section titled “Inheritance”Object → MstatSizeEntry
Implements
Section titled “Implements”Constructors
Section titled “Constructors”MstatSizeEntry(MstatSectionKind, string, string, string, string, string, string, string, long, int, IReadOnlyList<string>)
Section titled “MstatSizeEntry(MstatSectionKind, string, string, string, string, string, string, string, long, int, IReadOnlyList<string>)”One normalized entry of an MstatSizeIndex: raw report rows aggregated under a build-stable identity key, with the structured hierarchy fields a consumer needs to place the entry in an assembly → namespace → type → leaf tree without parsing display strings.
Parameters:
Section(MstatSectionKind): The report section the entry came from.Key(String): The build-stable identity key the entry’s rows were aggregated under. Keys are comparable across two builds of the same application; they are not display strings.AssemblyName(String): The assembly the bytes are attributed to. For frozen objects this is the owning type’s assembly — the code that caused the bytes — or UnattributedName when the object has no owner (string literals). Empty for global sections (blobs).Namespace(String): The namespace the bytes are attributed to, an empty string for the global namespace, or UnattributedName for ownerless frozen objects. Blobs and resources carry no namespace.TypeName(String): The type-level grouping name (declaring type for methods, the type itself for MethodTables, the owning type for owned frozen objects), or an empty string for sections without one.LeafName(String): The leaf display name, disambiguated where identity requires it (method names carry their parameter list).DisplayName(String): The undecorated display name (a method’s bare name, a blob’s name).FullPath(String): A deterministic, key-derived path for the entry, unique within the index.Size(Int64): The aggregated size in bytes.EntryCount(Int32): The number of raw report rows folded into this entry. Greater than one means the entry is an aggregate (overload display collisions, folded MethodTables, frozen objects grouped by owner) and consumers must present it as such.NodeNames(IReadOnlyList<String>): Every dependency-graph node name behind the aggregated rows, in row order. These join to DGML node labels and to native symbol names; an aggregate maps to as many nodes as it has rows with names.
public MstatSizeEntry(MstatSectionKind Section, string Key, string AssemblyName, string Namespace, string TypeName, string LeafName, string DisplayName, string FullPath, long Size, int EntryCount, IReadOnlyList<string> NodeNames)Properties
Section titled “Properties”AssemblyName
Section titled “AssemblyName”The assembly the bytes are attributed to. For frozen objects this is the owning type’s assembly — the code that caused the bytes — or UnattributedName when the object has no owner (string literals). Empty for global sections (blobs).
Returns: String
public string AssemblyName { get; init; }DisplayName
Section titled “DisplayName”The undecorated display name (a method’s bare name, a blob’s name).
Returns: String
public string DisplayName { get; init; }EntryCount
Section titled “EntryCount”The number of raw report rows folded into this entry. Greater than one means the entry is an aggregate (overload display collisions, folded MethodTables, frozen objects grouped by owner) and consumers must present it as such.
Returns: Int32
public int EntryCount { get; init; }FullPath
Section titled “FullPath”A deterministic, key-derived path for the entry, unique within the index.
Returns: String
public string FullPath { get; init; }The build-stable identity key the entry’s rows were aggregated under. Keys are comparable across two builds of the same application; they are not display strings.
Returns: String
public string Key { get; init; }LeafName
Section titled “LeafName”The leaf display name, disambiguated where identity requires it (method names carry their parameter list).
Returns: String
public string LeafName { get; init; }Namespace
Section titled “Namespace”The namespace the bytes are attributed to, an empty string for the global namespace, or UnattributedName for ownerless frozen objects. Blobs and resources carry no namespace.
Returns: String
public string Namespace { get; init; }NodeNames
Section titled “NodeNames”Every dependency-graph node name behind the aggregated rows, in row order. These join to DGML node labels and to native symbol names; an aggregate maps to as many nodes as it has rows with names.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> NodeNames { get; init; }Section
Section titled “Section”The report section the entry came from.
Returns: MstatSectionKind
public MstatSectionKind Section { get; init; }The aggregated size in bytes.
Returns: Int64
public long Size { get; init; }TypeName
Section titled “TypeName”The type-level grouping name (declaring type for methods, the type itself for MethodTables, the owning type for owned frozen objects), or an empty string for sections without one.
Returns: String
public string TypeName { get; init; }