From 48a239a8f99f0f3629d7a8da1ec9da83e9b82a64 Mon Sep 17 00:00:00 2001 From: Kris Budde Date: Sun, 17 Jul 2016 20:31:59 +0200 Subject: [PATCH] added build info to metrics Signed-off-by: Kris Budde --- exporter.go | 2 ++ version.go | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/exporter.go b/exporter.go index 04c265f..96e6520 100644 --- a/exporter.go +++ b/exporter.go @@ -97,4 +97,6 @@ func (e *exporter) Collect(ch chan<- prometheus.Metric) { for _, countervec := range e.queueMetricsCounter { countervec.Collect(ch) } + + BuildInfo.Collect(ch) } diff --git a/version.go b/version.go index 64cb49d..4deb9b0 100644 --- a/version.go +++ b/version.go @@ -1,8 +1,29 @@ package main +import "github.com/prometheus/client_golang/prometheus" + var ( Version string Revision string Branch string BuildDate string ) + +//BuildInfo is a metric with a constant '1' value labeled by version, revision, branch and build date on which the rabbitmq_exporter was built +var BuildInfo *prometheus.GaugeVec + +func init() { + BuildInfo = newBuildInfo() +} + +func newBuildInfo() *prometheus.GaugeVec { + metric := prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "rabbitmq_exporter_build_info", + Help: "A metric with a constant '1' value labeled by version, revision, branch and build date on which the rabbitmq_exporter was built.", + }, + []string{"version", "revision", "branch", "builddate"}, + ) + metric.WithLabelValues(Version, Revision, Branch, BuildDate).Set(1) + return metric +}