Table of Contents

Struct SystemTelemetry

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

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

float

EntitiesProcessed

Number of entities this system processed (from TickContext.Entities). Zero for CallbackSystems.

public int EntitiesProcessed

Field Value

int

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

int

SkipReason

Reason the system was skipped, or NotSkipped if it executed normally.

public SkipReason SkipReason

Field Value

SkipReason

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

float

SystemIndex

Index of the system in the DAG.

public int SystemIndex

Field Value

int

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

float

WorkersTouched

Number of distinct workers that processed chunks for this system.

public int WorkersTouched

Field Value

int

Properties

WasSkipped

True if this system was skipped this tick.

public readonly bool WasSkipped { get; }

Property Value

bool