Nebula
Control plane

GatewayStats

What a gateway reports about itself on every heartbeat.

generated from the sources
public struct GatewayStats

What a gateway reports about itself on every heartbeat. The orchestrator publishes it in /api/state; whoever runs the gateway fleet (a hosting platform, an operator) sizes the fleet from these numbers, since a connection count alone says nothing about replication cost.

Fields

PendingJoins

public uint PendingJoins;

Clients welcomed by this gateway that are still waiting for somewhere to spawn (JoinState.Starting). The orchestrator reads it as demand: a pending join at zero workers wakes the mesh at once, and no scale-in goes below one worker while it is non-zero.

ActiveClients

public uint ActiveClients;

Welcomed clients with a pawn.

JoiningClients

public uint JoiningClients;

Links that sent Hello and are being authenticated or placed.

ReconnectingClients

public uint ReconnectingClients;

Sessions whose link dropped and that are being held for a reconnect (NebulaConfig.SessionReclaimSeconds).

PacketsInPerSecond, PacketsOutPerSecond, BytesInPerSecond, BytesOutPerSecond

public float PacketsInPerSecond, PacketsOutPerSecond, BytesInPerSecond, BytesOutPerSecond;

Client-facing traffic over the last heartbeat interval.

WorkerBytesInPerSecond, WorkerBytesOutPerSecond

public float WorkerBytesInPerSecond, WorkerBytesOutPerSecond;

Worker-facing traffic over the last heartbeat interval.

Cpu

public float Cpu;

Process CPU over the interval as a fraction of one core (2.0 = two cores busy).

MemoryBytes

public ulong MemoryBytes;

Working set in bytes.

LoopLagMs

public float LoopLagMs;

Longest gap between two ticks beyond the expected loop period, in milliseconds, over the interval.

WorkerConnections

public uint WorkerConnections;

Worker links that completed the handshake.

InterestSetAvg

public float InterestSetAvg;

Entities in one client's interest set, averaged over the welcomed clients.

InterestSetMax

public uint InterestSetMax;

The largest interest set of any client.

CachedEntities

public uint CachedEntities;

Entity records this gateway caches: everything its clients' subscribed regions cover.

SubscribedRegions

public uint SubscribedRegions;

Distinct regions subscribed across every worker link.

public uint WorkerLinks;

Worker links held, and why (a comma-separated summary: region, foci, global, explicit, spawn, owned).

WorkerLinkReasons

public string WorkerLinkReasons;

SpawnsPerSecond, DespawnsPerSecond

public float SpawnsPerSecond, DespawnsPerSecond;

Entity spawns and despawns sent to clients over the interval, per second.

InterestEvalMsAvg, InterestEvalMsMax

public float InterestEvalMsAvg, InterestEvalMsMax;

Time one interest evaluation takes, in milliseconds, over the interval.

InterestEvalsPerSecond

public float InterestEvalsPerSecond;

Client interest evaluations run per second: welcomed clients x InterestEvalHz when the rotation is keeping up.

BytesPerClientAvg, BytesPerClientMax

public float BytesPerClientAvg, BytesPerClientMax;

Bytes sent to one client per second, averaged over the welcomed clients, and the worst of them.

ExtensionErrors

public uint ExtensionErrors;

Exceptions thrown by the game's gateway extension since this gateway started (a total, not a rate). Anything but zero means a policy call, a client event or posted work threw: the gateway carried on — a throwing Authorize denies rather than allows — but the game is not deciding what it thinks.

Ready

public bool Ready;

Registered, connected to the control plane, and accepting clients.

Draining

public bool Draining;

The gateway is taking itself out of service: refusing new clients and asking the ones it has to reconnect elsewhere.

On this page