浏览代码

Include heap metrics in server_load

Rod Hynes 8 年之前
父节点
当前提交
286095de36
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      psiphon/server/services.go

+ 10 - 0
psiphon/server/services.go

@@ -339,8 +339,18 @@ func logServerLoad(server *TunnelServer) {
 	for protocol, stats := range protocolStats {
 	for protocol, stats := range protocolStats {
 		serverLoad[protocol] = stats
 		serverLoad[protocol] = stats
 	}
 	}
+
 	serverLoad["establish_tunnels"] = server.GetEstablishTunnels()
 	serverLoad["establish_tunnels"] = server.GetEstablishTunnels()
 
 
+	var memStats runtime.MemStats
+	runtime.ReadMemStats(&memStats)
+	serverLoad["heap_alloc"] = memStats.HeapAlloc
+	serverLoad["heap_sys"] = memStats.HeapSys
+	serverLoad["heap_idle"] = memStats.HeapIdle
+	serverLoad["heap_inuse"] = memStats.HeapInuse
+	serverLoad["heap_released"] = memStats.HeapReleased
+	serverLoad["heap_objects"] = memStats.HeapObjects
+
 	log.LogRawFieldsWithTimestamp(serverLoad)
 	log.LogRawFieldsWithTimestamp(serverLoad)
 
 
 	for region, regionProtocolStats := range regionStats {
 	for region, regionProtocolStats := range regionStats {