From 979af1f699c582f108420aecd82b06ce0582d1ac Mon Sep 17 00:00:00 2001 From: Mark McWhirter <8041254+mcmarkj@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:13:41 +0100 Subject: [PATCH] Expose 2 new metrics about worker health (#203) * Expose more metrics about worker health * PR feedback * PR feedback --- internal/controller/scheduler/scheduler.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/controller/scheduler/scheduler.go b/internal/controller/scheduler/scheduler.go index cb97752..d1f9572 100644 --- a/internal/controller/scheduler/scheduler.go +++ b/internal/controller/scheduler/scheduler.go @@ -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 {