Skip to content

DgmlGraph

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

An ILC dependency graph read from a DGML file, with the reverse index needed to answer “why is this in my binary”: a breadth-first walk from any node toward its dependers ends at a root — a node nothing depends on — and the chain back down is the explanation.

public sealed class DgmlGraph

ObjectDgmlGraph

The graph’s edges; each source depends on its target.

Returns: IReadOnlyList<DgmlLink>

public IReadOnlyList<DgmlLink> Links { get; }

The graph’s nodes.

Returns: IReadOnlyList<DgmlNode>

public IReadOnlyList<DgmlNode> Nodes { get; }

Finds the node with the given label, or null when no node carries it. When labels repeat, the first node wins.

Parameters:

  • label (String): The node name to look up — for an mstat entry, its NodeName.

Returns: DgmlNode

public DgmlNode? FindNodeByLabel(string label)

Walks from the node to a root and returns the chain root-first, ending at the queried node. Empty when the id is unknown.

Parameters:

  • nodeId (Int32): The node id to explain.

Returns: IReadOnlyList<DgmlPathStep>

public IReadOnlyList<DgmlPathStep> PathToRoot(int nodeId)

Walks from the labeled node to a root and returns the chain root-first, ending at the queried node. Empty when the label is unknown.

Parameters:

  • label (String): The node name to explain.

Returns: IReadOnlyList<DgmlPathStep>

public IReadOnlyList<DgmlPathStep> PathToRoot(string label)