Struct SystemTelemetry
Per-system-per-tick telemetry metrics. Recorded at the end of each tick by the scheduler.
public struct SystemTelemetry
- Inherited Members
Remarks
Internal timestamp fields are used during tick execution to compute the public microsecond values. They are reset to 0 at tick start and populated by workers during dispatch.
Fields
DurationUs
Time from first chunk grab to last chunk completion. Measures total system execution time.
public float DurationUs
Field Value
EntitiesProcessed
Number of entities this system processed (from TickContext.Entities). Zero for CallbackSystems.
public int EntitiesProcessed
Field Value
EntitiesSkippedByChangeFilter
Entities in the View but excluded by change filter this tick. Zero if no change filter applied.
Computed as View.Count - EntitiesProcessed for change-filtered systems.
public int EntitiesSkippedByChangeFilter
Field Value
SkipReason
Reason the system was skipped, or NotSkipped if it executed normally.
public SkipReason SkipReason
Field Value
StragglerGapUs
Difference between actual duration and theoretical optimal parallel duration. Only computed when SchedulerTrackStragglerGap is enabled. Positive values indicate load imbalance (some workers finished earlier and idled).
public float StragglerGapUs
Field Value
SystemIndex
Index of the system in the DAG.
public int SystemIndex
Field Value
TransitionLatencyUs
Time from when all predecessors completed (system became ready) to when the first chunk was grabbed. Measures dispatch/discovery overhead. Target: < 1µs.
public float TransitionLatencyUs
Field Value
WorkersTouched
Number of distinct workers that processed chunks for this system.
public int WorkersTouched
Field Value
Properties
WasSkipped
True if this system was skipped this tick.
public readonly bool WasSkipped { get; }