Table of Contents

Struct SchedulerOverloadDetectorData

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

Decoded Scheduler OverloadDetector instant snapshot (per-tick gauge sample). Payload: tick i64, overrunRatio f32, consecutiveOverrun u16, consecutiveUnderrun u16, consecutiveQueueGrowth u16, queueDepth i32, level u8, multiplier u8 (24 B).

public readonly struct SchedulerOverloadDetectorData
Inherited Members

Constructors

SchedulerOverloadDetectorData(byte, long, long, float, ushort, ushort, ushort, int, byte, byte)

Constructs the decoded overload-detector sample from its wire fields.

public SchedulerOverloadDetectorData(byte threadSlot, long timestamp, long tick, float overrunRatio, ushort consecutiveOverrun, ushort consecutiveUnderrun, ushort consecutiveQueueGrowth, int queueDepth, byte level, byte multiplier)

Parameters

threadSlot byte
timestamp long
tick long
overrunRatio float
consecutiveOverrun ushort
consecutiveUnderrun ushort
consecutiveQueueGrowth ushort
queueDepth int
level byte
multiplier byte

Properties

ConsecutiveOverrun

Consecutive ticks above the overrun threshold at sample time.

public ushort ConsecutiveOverrun { get; }

Property Value

ushort

ConsecutiveQueueGrowth

Consecutive ticks the scheduler queue grew at sample time.

public ushort ConsecutiveQueueGrowth { get; }

Property Value

ushort

ConsecutiveUnderrun

Consecutive ticks below the de-escalation ratio at sample time.

public ushort ConsecutiveUnderrun { get; }

Property Value

ushort

Level

OverloadDetector level (0 = Normal, up to 4 = PlayerShedding).

public byte Level { get; }

Property Value

byte

Multiplier

Effective tick-rate multiplier at sample time (1 = full rate; > 1 = throttled).

public byte Multiplier { get; }

Property Value

byte

OverrunRatio

Ratio of actual tick duration to the target period (> 1 = overran the budget, < 1 = ran under).

public float OverrunRatio { get; }

Property Value

float

QueueDepth

Scheduler queue depth (pending work items) at sample time.

public int QueueDepth { get; }

Property Value

int

ThreadSlot

Producer thread slot (0-255, from the thread-slot registry) the sample was emitted on.

public byte ThreadSlot { get; }

Property Value

byte

Tick

Engine tick number this per-tick sample belongs to.

public long Tick { get; }

Property Value

long

Timestamp

Emit timestamp in Stopwatch.GetTimestamp() ticks.

public long Timestamp { get; }

Property Value

long