Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/common-go/baseserver/metrics.go
2498 views
1
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package baseserver
6
7
import (
8
"fmt"
9
"github.com/prometheus/client_golang/prometheus"
10
)
11
12
var (
13
serverVersionGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
14
Namespace: "gitpod",
15
Subsystem: "server",
16
Name: "version",
17
Help: "Gauge of the current version of a gitpod server",
18
}, []string{"version"})
19
)
20
21
func registerMetrics(reg *prometheus.Registry) error {
22
metrics := []prometheus.Collector{
23
serverVersionGauge,
24
}
25
for _, metric := range metrics {
26
err := reg.Register(metric)
27
if err != nil {
28
return fmt.Errorf("failed to register metric: %w", err)
29
}
30
}
31
32
return nil
33
}
34
35
func reportServerVersion(version string) {
36
serverVersionGauge.WithLabelValues(version).Set(1)
37
}
38
39