From f9fce6b57c9ced5c586fd62609ef5852f8562392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Otto=20Kr=C3=B6pke?= Date: Sat, 18 May 2024 20:47:02 +0200 Subject: [PATCH] Use ENUM pattern for printer status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan-Otto Kröpke --- pkg/collector/printer/printer.go | 24 +++++++++++-------- .../scheduled_task/scheduled_task.go | 3 ++- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pkg/collector/printer/printer.go b/pkg/collector/printer/printer.go index 14ccdb160..600e86b00 100644 --- a/pkg/collector/printer/printer.go +++ b/pkg/collector/printer/printer.go @@ -158,17 +158,21 @@ func (c *collector) collectPrinterStatus(ch chan<- prometheus.Metric) error { continue } - printerStatus, ok := printerStatusMap[printer.PrinterStatus] - if !ok { - printerStatus = "Unknown" + for printerStatus, printerStatusName := range printerStatusMap { + isCurrentStatus := 0.0 + if printerStatus == printer.PrinterStatus { + isCurrentStatus = 1.0 + } + + ch <- prometheus.MustNewConstMetric( + c.printerStatus, + prometheus.GaugeValue, + isCurrentStatus, + printer.Name, + printerStatusName, + ) } - ch <- prometheus.MustNewConstMetric( - c.printerStatus, - prometheus.GaugeValue, - 1, - printer.Name, - printerStatus, - ) + ch <- prometheus.MustNewConstMetric( c.printerJobCount, prometheus.CounterValue, diff --git a/pkg/collector/scheduled_task/scheduled_task.go b/pkg/collector/scheduled_task/scheduled_task.go index a63c7b727..f6ed1e51f 100644 --- a/pkg/collector/scheduled_task/scheduled_task.go +++ b/pkg/collector/scheduled_task/scheduled_task.go @@ -9,12 +9,13 @@ import ( "runtime" "strings" + "github.com/prometheus-community/windows_exporter/pkg/types" + "github.com/alecthomas/kingpin/v2" "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/go-ole/go-ole" "github.com/go-ole/go-ole/oleutil" - "github.com/prometheus-community/windows_exporter/pkg/types" "github.com/prometheus/client_golang/prometheus" )