add memory used and total to node stats (#1293)

* add memory used and total to node stats

* raja review: consistency

* update protocol
This commit is contained in:
Mathew Kamkar
2023-01-10 12:32:04 -08:00
committed by GitHub
parent b0a6bb3bc9
commit 7c970da974
4 changed files with 12 additions and 20 deletions
+3 -14
View File
@@ -85,18 +85,6 @@ func Init(nodeID string, nodeType livekit.NodeType) {
initRoomStats(nodeID, nodeType)
}
func getMemoryStats() (memoryLoad float32, err error) {
memInfo, err := memory.Get()
if err != nil {
return
}
if memInfo.Total != 0 {
memoryLoad = float32(memInfo.Used) / float32(memInfo.Total)
}
return
}
func GetUpdatedNodeStats(prev *livekit.NodeStats, prevAverage *livekit.NodeStats) (*livekit.NodeStats, bool, error) {
loadAvg, err := loadavg.Get()
if err != nil {
@@ -108,9 +96,9 @@ func GetUpdatedNodeStats(prev *livekit.NodeStats, prevAverage *livekit.NodeStats
return nil, false, err
}
memoryLoad, _ := getMemoryStats()
// On MacOS, get "\"vm_stat\": executable file not found in $PATH" although it is in /usr/bin
// So, do not error out. Use the information if it is available.
memInfo, _ := memory.Get()
sysPackets, sysDroppedPackets, err := getTCStats()
if err != nil {
@@ -166,12 +154,13 @@ func GetUpdatedNodeStats(prev *livekit.NodeStats, prevAverage *livekit.NodeStats
ParticipantJoinPerSec: prevAverage.ParticipantJoinPerSec,
NumCpus: numCPUs,
CpuLoad: cpuLoad,
MemoryTotal: memInfo.Total,
MemoryUsed: memInfo.Used,
LoadAvgLast1Min: float32(loadAvg.Loadavg1),
LoadAvgLast5Min: float32(loadAvg.Loadavg5),
LoadAvgLast15Min: float32(loadAvg.Loadavg15),
SysPacketsOut: sysPackets,
SysPacketsDropped: sysDroppedPackets,
MemoryLoad: memoryLoad,
}
// update stats