Table of Contents

Struct SystemTickSummary

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

Per-(tick, system) rollup row in SystemTickSummaries. One row per system per tick — dense across systems so binary-search by tick yields a contiguous slice of all systems for that tick. Skipped systems are present with SkipReasonCode != 0; consumers filter on that.

public struct SystemTickSummary
Inherited Members

Remarks

Folded from the existing wire events:

Fields

ChunksProcessed

Number of chunks completed (1 for callbacks; >=1 for parallel queries / pipelines).

public ushort ChunksProcessed

Field Value

ushort

DurationUs

Wall-clock execution duration in µs (EndUs - StartUs). Zero if skipped. This is the elapsed real-time of the system span, independent of how many workers ran chunks in parallel. For latency / critical-path analysis. Pair with TotalCpuUs to compute parallelization efficiency: TotalCpuUs / (DurationUs * WorkersTouched).

public float DurationUs

Field Value

float

EndUs

Tick-relative µs at which the last chunk completed (or callback finish). Zero if skipped.

public double EndUs

Field Value

double

EntitiesProcessed

Number of entities processed (sum across chunks). Zero for callbacks / skipped systems.

public uint EntitiesProcessed

Field Value

uint

Flags

Reserved for future use (e.g. bit flags for fresh/snapshot run, change-filter triggered, etc.). Zero on disk.

public byte Flags

Field Value

byte

ReadyUs

Tick-relative µs at which the system became ready (all predecessors done). Zero if skipped or unobserved (e.g. a root system whose ready time coincides with TickStart). Used by the DAG view's worker-claim-wait diagnostic.

public double ReadyUs

Field Value

double

SkipReasonCode

Skip reason byte (mirrors engine SkipReason enum). 0 = NotSkipped (system ran), non-zero = skipped this tick; other fields then reflect the skip event (StartUs/EndUs zero, DurationUs zero, EntitiesProcessed zero).

public byte SkipReasonCode

Field Value

byte

StartUs

Tick-relative µs at which the first chunk grab happened (or callback start). Zero if skipped.

public double StartUs

Field Value

double

SystemIndex

System index in the DAG (matches Index).

public ushort SystemIndex

Field Value

ushort

TickNumber

Tick number (matches TickNumber).

public uint TickNumber

Field Value

uint

TotalCpuUs

Total CPU time in µs consumed by this system across ALL workers — sum of every SchedulerChunk span's duration. Distinct from DurationUs: a parallel system using 16 workers for 690 µs of wall-clock has DurationUs = 690 but TotalCpuUs ≈ 16 * chunk_avg ≈ 5,700. Drives parallelism-inefficiency / utilization calculations (workbench A1/A2). Zero if skipped. Chunker v13+ field; v12 caches default to zero on read (auto-rebuild expected).

public uint TotalCpuUs

Field Value

uint

WorkersTouched

Number of distinct worker threads that ran chunks for this system this tick. Zero if skipped.

public byte WorkersTouched

Field Value

byte

_reserved

Padding to keep TotalCpuUs on a 4-byte boundary. Zero on disk.

public byte _reserved

Field Value

byte