Struct CpuFrameSymbol
One resolved frame symbol in the trailing CpuSampleSection of a .typhon-trace file (#351). Interned stacks reference frame symbols by
FrameId; a frame symbol carries the display method name and, when the frame resolved to source, a FileId / Line.
public readonly struct CpuFrameSymbol
- Inherited Members
Remarks
FileId indexes the same FileTable the SourceLocationManifest uses — path interning is shared across both sections. A frame
with no resolved source (BCL / native / dynamic) has Line = 0 — HasSource reports it. (The FileTable does not reserve
a 0-index sentinel — index 0 is a real file — so Line, not FileId, is the "has source" discriminator.) Such a frame still
renders, it just has no editor link.
Constructors
CpuFrameSymbol(ushort, ushort, uint, string)
Construct a resolved frame symbol.
public CpuFrameSymbol(ushort frameId, ushort fileId, uint line, string method)
Parameters
frameIdushortSection-local frame id.
fileIdushortIndex into the shared
FileTable; meaningful only whenlineis non-zero.lineuint1-based source line, or 0 when the frame has no resolved source.
methodstringDisplay name of the method;
nullis coerced to the empty string.
Properties
FileId
Index into the shared FileTable. Meaningful only when HasSource is true.
public ushort FileId { get; }
Property Value
FrameId
Section-local frame id (a dense u16 space, distinct from the source-location manifest's site-id space).
public ushort FrameId { get; }
Property Value
HasSource
public bool HasSource { get; }
Property Value
Line
1-based source line, or 0 when the frame has no resolved source.
public uint Line { get; }
Property Value
Method
Display name of the frame's method; never null.
public string Method { get; }