Expose 2 new metrics about worker health (#203)

* Expose more metrics about worker health

* PR feedback

* PR feedback
This commit is contained in:
Mark McWhirter
2024-09-10 10:13:41 -04:00
committed by GitHub
parent cbda1a0c87
commit 979af1f699
+5 -3
View File
@@ -27,7 +27,7 @@ var (
})
workersStat = promauto.NewGaugeVec(prometheus.GaugeOpts{
Name: "orchard_workers",
}, []string{"status"})
}, []string{"worker_name", "status"})
vmsStat = promauto.NewGaugeVec(prometheus.GaugeOpts{
Name: "orchard_vms",
}, []string{"status"})
@@ -91,9 +91,11 @@ func (scheduler *Scheduler) Run() {
func (scheduler *Scheduler) reportStats(workers []v1.Worker, vms []v1.VM) {
for _, worker := range workers {
if worker.Offline(scheduler.workerOfflineTimeout) {
workersStat.With(map[string]string{"status": "offline"}).Inc()
workersStat.With(map[string]string{"worker_name": worker.Name, "status": "online"}).Set(0)
workersStat.With(map[string]string{"worker_name": worker.Name, "status": "offline"}).Set(1)
} else {
workersStat.With(map[string]string{"status": "online"}).Inc()
workersStat.With(map[string]string{"worker_name": worker.Name, "status": "online"}).Set(1)
workersStat.With(map[string]string{"worker_name": worker.Name, "status": "offline"}).Set(0)
}
}
for _, vm := range vms {