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 15:13:41 +01:00 committed by GitHub
parent cbda1a0c87
commit 979af1f699
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 3 deletions

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 {