Skip to content

Commit 60971ea

Browse files
authored
diagnostics: added api to get sys info data (#11589) (#11592)
1 parent 2661ad3 commit 60971ea

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

diagnostics/sysinfo.go

+35
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
package diagnostics
1818

1919
import (
20+
"encoding/json"
2021
"net/http"
2122

2223
diaglib "github.com/ledgerwatch/erigon-lib/diagnostics"
24+
"github.com/ledgerwatch/erigon-lib/sysutils"
2325
)
2426

2527
func SetupSysInfoAccess(metricsMux *http.ServeMux, diag *diaglib.DiagnosticClient) {
@@ -32,8 +34,41 @@ func SetupSysInfoAccess(metricsMux *http.ServeMux, diag *diaglib.DiagnosticClien
3234
w.Header().Set("Content-Type", "application/json")
3335
writeHardwareInfo(w, diag)
3436
})
37+
38+
metricsMux.HandleFunc("/cpu-usage", func(w http.ResponseWriter, r *http.Request) {
39+
w.Header().Set("Access-Control-Allow-Origin", "*")
40+
w.Header().Set("Content-Type", "application/json")
41+
writeCPUUsage(w)
42+
})
43+
44+
metricsMux.HandleFunc("/processes-info", func(w http.ResponseWriter, r *http.Request) {
45+
w.Header().Set("Access-Control-Allow-Origin", "*")
46+
w.Header().Set("Content-Type", "application/json")
47+
writeProcessesInfo(w)
48+
})
49+
50+
metricsMux.HandleFunc("/memory-info", func(w http.ResponseWriter, r *http.Request) {
51+
w.Header().Set("Access-Control-Allow-Origin", "*")
52+
w.Header().Set("Content-Type", "application/json")
53+
writeMemoryInfo(w)
54+
})
3555
}
3656

3757
func writeHardwareInfo(w http.ResponseWriter, diag *diaglib.DiagnosticClient) {
3858
diag.HardwareInfoJson(w)
3959
}
60+
61+
func writeCPUUsage(w http.ResponseWriter) {
62+
cpuusage := sysutils.CPUUsage()
63+
json.NewEncoder(w).Encode(cpuusage)
64+
}
65+
66+
func writeProcessesInfo(w http.ResponseWriter) {
67+
processes := sysutils.GetProcessesInfo()
68+
json.NewEncoder(w).Encode(processes)
69+
}
70+
71+
func writeMemoryInfo(w http.ResponseWriter) {
72+
totalMemory := sysutils.TotalMemoryUsage()
73+
json.NewEncoder(w).Encode(totalMemory)
74+
}

0 commit comments

Comments
 (0)