1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
11 "git.arvados.org/arvados.git/lib/cmd"
12 "git.arvados.org/arvados.git/lib/service"
13 "git.arvados.org/arvados.git/sdk/go/arvados"
14 "git.arvados.org/arvados.git/sdk/go/health"
15 "github.com/prometheus/client_golang/prometheus"
20 command cmd.Handler = service.Command(arvados.ServiceNameHealth, newHandler)
23 func newHandler(ctx context.Context, cluster *arvados.Cluster, _ string, reg *prometheus.Registry) service.Handler {
24 mClockSkew := prometheus.NewGauge(prometheus.GaugeOpts{
27 Name: "clock_skew_seconds",
28 Help: "Clock skew observed in most recent health check",
30 reg.MustRegister(mClockSkew)
31 return &health.Aggregator{
33 MetricClockSkew: mClockSkew,
38 os.Exit(command.RunCommand(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr))