18794: Export current version as metric (Go services only).
[arvados.git] / 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