WorkerStats
What a worker reports about itself on every heartbeat.
Nebula · Packages/com.1by3.nebula/Runtime/ControlPlane/IControlPlane.cspublic struct WorkerStatsWhat a worker reports about itself on every heartbeat.
Fields
TickCount
public ulong TickCount;TickMs
public float TickMs;EntityCount
public uint EntityCount;AuthoritativeCount
public uint AuthoritativeCount;GhostCount
public uint GhostCount;PlayerCount
public uint PlayerCount;BotCount
public uint BotCount;ServerDrivenCount
public uint ServerDrivenCount;HasGlobalEntities
public bool HasGlobalEntities;This worker holds at least one always-relevant entity. A gateway keeps a link to such a worker even when it subscribes no region there, because a global entity belongs in every client's set and nothing else would make the gateway ask for it.
HasFarEntities
public bool HasFarEntities;This worker holds at least one entity with a far relevance radius (NetworkIdentity.FarRelevanceRadius, NEB-388). A gateway keeps a link to such a worker and sends it its foci, so the worker can tell which gateways its far entities reach; nothing nearer than the far radius would make the gateway dial it. Additive: older readers ignore it.
OldestDirtySeconds
public float OldestDirtySeconds;NebulaPersistence.OldestDirtyAgeSeconds on this worker, or 0 when persistence is off. An additive field on the existing heartbeat message: older orchestrators simply do not read it.
ResidentBytes
public ulong ResidentBytes;Resident memory of the worker process (working set / RSS) in bytes; 0 when it could not be read.
NativeAllocatedBytes
public ulong NativeAllocatedBytes;Unity's native memory allocated (Profiler.GetTotalAllocatedMemoryLong) in bytes.
NativeReservedBytes
public ulong NativeReservedBytes;Unity's native memory reserved (Profiler.GetTotalReservedMemoryLong) in bytes.
ManagedBytes
public ulong ManagedBytes;The managed heap in use (GC.GetTotalMemory(false)) in bytes.
GcCount
public uint GcCount;Gen-0 garbage collections since the process started (a total; the reader takes differences).
FrameAvgMs, FrameP90Ms, FrameMaxMs
public float FrameAvgMs, FrameP90Ms, FrameMaxMs;Wall time per Unity frame over the worker's last profile window, in milliseconds: average, 90th percentile and worst. 0 until a window has completed, or from an older worker.
FrameSections
public string FrameSections;That window's frame split as name=ms pairs separated by spaces, in ms per frame (physics, fixed, tick, update, late, idle). Empty from an older worker.
ProfileSections
public string ProfileSections;That window's profiler sections (Nebula's and the game's) as name=ms pairs separated by spaces, in ms per tick. Empty from an older worker.
WorkerRoster
Which workers the orchestrator has declared dead, as a mirror of the control plane can tell: a worker row that was in the last document observed and is missing from this one, when both are the same document (IControlPlane.DocumentId).
WorkerStatus
Provides the lifecycle states reported by a worker.