18794: Export current version as metric (Go services only).
authorTom Clegg <tom@curii.com>
Mon, 25 Apr 2022 18:17:45 +0000 (14:17 -0400)
committerTom Clegg <tom@curii.com>
Tue, 26 Apr 2022 15:19:20 +0000 (11:19 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/service/cmd.go

index 6f5efa5cb7e968692eac444967e7d4afbca3b16a..063ff9f6ee11e655eb6ae186b05e6d4740a107f6 100644 (file)
@@ -119,6 +119,15 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
        reg := prometheus.NewRegistry()
        loader.RegisterMetrics(reg)
 
+       // arvados_version_running{version="1.2.3~4"} 1.0
+       mVersion := prometheus.NewGaugeVec(prometheus.GaugeOpts{
+               Namespace: "arvados",
+               Name:      "version_running",
+               Help:      "Indicated version is running.",
+       }, []string{"version"})
+       mVersion.WithLabelValues(cmd.Version.String()).Set(1)
+       reg.MustRegister(mVersion)
+
        handler := c.newHandler(ctx, cluster, cluster.SystemRootToken, reg)
        if err = handler.CheckHealth(); err != nil {
                return 1