From 60cfac948bfd79e3faf1288fb70b98379ee771ac Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Mon, 19 Dec 2022 15:45:23 -0800 Subject: [PATCH] Breaking: Rename `minitor_check_milliseconds` and `minitor_monitor_up_count` To conform with Prometheus metric name best practices, these have been renamed as follows: * `minitor_check_milliseconds` to `minitor_check_seconds` * `minitor_monitor_up_count` to `minitor_monitor_up` --- .golangci.yml | 1 + main.go | 2 +- metrics.go | 8 ++++---- monitor.go | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 286bf03..9621e3c 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -9,6 +9,7 @@ linters: - gomnd - goprintffuncname - misspell + - promlinter - tagliatelle - tenv - testpackage diff --git a/main.go b/main.go index 97249e2..96c7151 100644 --- a/main.go +++ b/main.go @@ -76,7 +76,7 @@ func checkMonitors(config *Config) error { // Track status metrics Metrics.SetMonitorStatus(monitor.Name, monitor.IsUp()) - Metrics.CountCheck(monitor.Name, success, monitor.LastCheckMilliseconds(), hasAlert) + Metrics.CountCheck(monitor.Name, success, monitor.LastCheckSeconds(), hasAlert) if alertNotice != nil { err := sendAlerts(config, monitor, alertNotice) diff --git a/metrics.go b/metrics.go index 2f7716b..e0f9945 100644 --- a/metrics.go +++ b/metrics.go @@ -43,14 +43,14 @@ func NewMetrics() *MinitorMetrics { ), checkTime: prometheus.NewGaugeVec( prometheus.GaugeOpts{ - Name: "minitor_check_milliseconds", + Name: "minitor_check_seconds", Help: "Time in miliseconds that a check ran for", }, []string{"monitor", "status"}, ), monitorStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ - Name: "minitor_monitor_up_count", + Name: "minitor_monitor_up", Help: "Status of currently responsive monitors", }, []string{"monitor"}, @@ -77,7 +77,7 @@ func (metrics *MinitorMetrics) SetMonitorStatus(monitor string, isUp bool) { } // CountCheck counts the result of a particular Monitor check -func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, ms int64, isAlert bool) { +func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, secs float64, isAlert bool) { status := "failure" if isSuccess { status = "success" @@ -94,7 +94,7 @@ func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, ms int metrics.checkTime.With( prometheus.Labels{"monitor": monitor, "status": status}, - ).Set(float64(ms)) + ).Set(secs) } // CountAlert counts an alert diff --git a/monitor.go b/monitor.go index a289897..4c548ae 100644 --- a/monitor.go +++ b/monitor.go @@ -91,9 +91,9 @@ func (monitor Monitor) IsUp() bool { return monitor.alertCount == 0 } -// LastCheckMilliseconds gives number of miliseconds the last check ran for -func (monitor Monitor) LastCheckMilliseconds() int64 { - return monitor.lastCheckDuration.Milliseconds() +// LastCheckSeconds gives number of seconds the last check ran for +func (monitor Monitor) LastCheckSeconds() float64 { + return monitor.lastCheckDuration.Seconds() } func (monitor *Monitor) success() (notice *AlertNotice) {