From 643d791a117a1785a9a27e374a4a4906a75a9fa3 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Mon, 23 Jul 2018 09:15:22 -0700 Subject: [PATCH] etcdserver: add "etcd_server_go_version" metric Currently, one has to look at server logs manually, to see what Go version was used to build etcd server. Signed-off-by: Gyuho Lee --- etcdserver/metrics.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/etcdserver/metrics.go b/etcdserver/metrics.go index 41624c93d..afc994c3f 100644 --- a/etcdserver/metrics.go +++ b/etcdserver/metrics.go @@ -15,6 +15,7 @@ package etcdserver import ( + goruntime "runtime" "time" "github.com/coreos/etcd/pkg/runtime" @@ -104,6 +105,13 @@ var ( Help: "Which version is running. 1 for 'server_version' label with current version.", }, []string{"server_version"}) + currentGoVersion = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: "etcd", + Subsystem: "server", + Name: "go_version", + Help: "Which Go version server is running with. 1 for 'server_go_version' label with current version.", + }, + []string{"server_go_version"}) ) func init() { @@ -120,10 +128,14 @@ func init() { prometheus.MustRegister(leaseExpired) prometheus.MustRegister(quotaBackendBytes) prometheus.MustRegister(currentVersion) + prometheus.MustRegister(currentGoVersion) currentVersion.With(prometheus.Labels{ "server_version": version.Version, }).Set(1) + currentGoVersion.With(prometheus.Labels{ + "server_go_version": goruntime.Version(), + }).Set(1) } func monitorFileDescriptor(lg *zap.Logger, done <-chan struct{}) {