diff --git a/src/proxy/proxy_server.go b/src/proxy/proxy_server.go index d69fc56..1e40cab 100644 --- a/src/proxy/proxy_server.go +++ b/src/proxy/proxy_server.go @@ -948,6 +948,7 @@ func (s *ProxyServer) GetClientId(client signaling.McuClient) string { func (s *ProxyServer) getStats() map[string]interface{} { result := map[string]interface{}{ "sessions": s.GetSessionsCount(), + "load": atomic.LoadInt64(&s.load), "mcu": s.mcu.GetStats(), } return result diff --git a/src/signaling/mcu_proxy.go b/src/signaling/mcu_proxy.go index d53aa97..1ec191c 100644 --- a/src/signaling/mcu_proxy.go +++ b/src/signaling/mcu_proxy.go @@ -317,6 +317,8 @@ type mcuProxyConnectionStats struct { Connected bool `json:"connected"` Publishers int64 `json:"publishers"` Clients int64 `json:"clients"` + Load *int64 `json:"load,omitempty"` + Shutdown *bool `json:"shutdown,omitempty"` Uptime *time.Time `json:"uptime,omitempty"` } @@ -328,6 +330,10 @@ func (c *mcuProxyConnection) GetStats() *mcuProxyConnectionStats { if c.conn != nil { result.Connected = true result.Uptime = &c.connectedSince + load := c.Load() + result.Load = &load + shutdown := c.IsShutdownScheduled() + result.Shutdown = &shutdown } c.mu.Unlock() c.publishersLock.RLock()