Table of Contents

Class CpuStats

Namespace
Nyra.Entities
Assembly
Nyra.dll

CPU load statistics of the server.

public sealed record CpuStats : IEquatable<CpuStats>
Inheritance
CpuStats
Implements
Inherited Members

Properties

Cores

The cores the server runs on.

[JsonPropertyName("cores")]
[JsonInclude]
public int Cores { get; }

Property Value

int

LavalinkLoad

Load caused by the audio node itself, 0.0-1.0.

[JsonPropertyName("lavalinkLoad")]
[JsonInclude]
public double LavalinkLoad { get; }

Property Value

double

Remarks

NodeLink omits this member entirely (the 0.0 is the client default for a missing field), the value is indistinguishable from an idle node there, watch SystemLoad or NodelinkLoad instead.

NodeLoad

The load of the node process, from whatever field the server reports.

[JsonIgnore]
public double NodeLoad { get; }

Property Value

double

Remarks

A server that reports both members (a proxy or a fork filling the Lavalink shape too) is read from the NodeLink field first, LavalinkLoad is the fallback for servers that only fill it.

NodelinkLoad

The node load as NodeLink reports it, under this member instead of the Lavalink one.

[JsonPropertyName("nodelinkLoad")]
[JsonInclude]
public double? NodelinkLoad { get; }

Property Value

double?

Remarks

A single-process NodeLink can leave it at 0, watch SystemLoad there, cluster or worker mode aggregates the worker loads. NodeLoad reads whichever field the server reports.

SystemLoad

System load.

[JsonPropertyName("systemLoad")]
[JsonInclude]
public double SystemLoad { get; }

Property Value

double

Remarks

Lavalink normalizes to 0.0-1.0, NodeLink reports the raw OS load average, which can exceed 1.0.