X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/402d882ea36afbaff953e60594e470808ebf0579..4bec5aa50dc40924741221259bfcbb53056cb35c:/lib/service/cmd.go diff --git a/lib/service/cmd.go b/lib/service/cmd.go index 43357998d8..e08af9f614 100644 --- a/lib/service/cmd.go +++ b/lib/service/cmd.go @@ -128,6 +128,17 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout ctx = context.WithValue(ctx, contextKeyURL{}, listenURL) 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 @@ -136,9 +147,10 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout instrumented := httpserver.Instrument(reg, log, httpserver.HandlerWithDeadline(cluster.API.RequestTimeout.Duration(), httpserver.AddRequestIDs( - httpserver.LogRequests( - interceptHealthReqs(cluster.ManagementToken, handler.CheckHealth, - httpserver.NewRequestLimiter(cluster.API.MaxConcurrentRequests, handler, reg)))))) + httpserver.Inspect(reg, cluster.ManagementToken, + httpserver.LogRequests( + interceptHealthReqs(cluster.ManagementToken, handler.CheckHealth, + httpserver.NewRequestLimiter(cluster.API.MaxConcurrentRequests, handler, reg))))))) srv := &httpserver.Server{ Server: http.Server{ Handler: ifCollectionInHost(instrumented, instrumented.ServeAPI(cluster.ManagementToken, instrumented)),