Struct SystemTickSummary
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:
SystemReady(systemIdx, predecessorCount, ts)→ ReadyUs.SystemSkipped(systemIdx, skipReason, ts, ...)→ SkipReasonCode + StartUs=0.SchedulerChunk(systemIdx, chunkIdx, totalChunks, startTs, endTs, entitiesProcessed)→ StartUs (min over chunks), EndUs (max over chunks), DurationUs (end - start), EntitiesProcessed (sum), WorkersTouched (distinct thread slots), ChunksProcessed (count).
Fields
ChunksProcessed
Number of chunks completed (1 for callbacks; >=1 for parallel queries / pipelines).
public ushort ChunksProcessed
Field Value
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
EndUs
Tick-relative µs at which the last chunk completed (or callback finish). Zero if skipped.
public double EndUs
Field Value
EntitiesProcessed
Number of entities processed (sum across chunks). Zero for callbacks / skipped systems.
public uint EntitiesProcessed
Field Value
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
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
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
StartUs
Tick-relative µs at which the first chunk grab happened (or callback start). Zero if skipped.
public double StartUs
Field Value
SystemIndex
System index in the DAG (matches Index).
public ushort SystemIndex
Field Value
TickNumber
Tick number (matches TickNumber).
public uint TickNumber
Field Value
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
WorkersTouched
Number of distinct worker threads that ran chunks for this system this tick. Zero if skipped.
public byte WorkersTouched
Field Value
_reserved
Padding to keep TotalCpuUs on a 4-byte boundary. Zero on disk.
public byte _reserved