From 6a699b6b7f88961210f900fb6e102b221ade7dbd Mon Sep 17 00:00:00 2001 From: Jingyi Hu Date: Thu, 10 Oct 2019 13:23:54 -0700 Subject: [PATCH 1/2] etcdserver: unset old cluster version in metrics --- etcdserver/api/membership/cluster.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etcdserver/api/membership/cluster.go b/etcdserver/api/membership/cluster.go index 81f515d2f39..f20e72ac06d 100644 --- a/etcdserver/api/membership/cluster.go +++ b/etcdserver/api/membership/cluster.go @@ -565,6 +565,7 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s plog.Noticef("set the initial cluster version to %v", version.Cluster(ver.String())) } } + oldVer := c.version c.version = ver mustDetectDowngrade(c.lg, c.version) if c.v2store != nil { @@ -573,6 +574,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s if c.be != nil { mustSaveClusterVersionToBackend(c.be, ver) } + if oldVer != nil { + ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": oldVer.String()}).Set(0) + } ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": ver.String()}).Set(1) onSet(c.lg, ver) } From b67862c0a6fcc8b8ac2de1728d79323b75276380 Mon Sep 17 00:00:00 2001 From: Jingyi Hu Date: Mon, 14 Oct 2019 13:41:17 -0700 Subject: [PATCH 2/2] etcdserver: strip patch version in cluster version Strip patch version in cluster version metrics. --- etcdserver/api/membership/cluster.go | 4 ++-- tests/e2e/metrics_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/etcdserver/api/membership/cluster.go b/etcdserver/api/membership/cluster.go index f20e72ac06d..b1a011b5031 100644 --- a/etcdserver/api/membership/cluster.go +++ b/etcdserver/api/membership/cluster.go @@ -575,9 +575,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s mustSaveClusterVersionToBackend(c.be, ver) } if oldVer != nil { - ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": oldVer.String()}).Set(0) + ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": version.Cluster(oldVer.String())}).Set(0) } - ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": ver.String()}).Set(1) + ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": version.Cluster(ver.String())}).Set(1) onSet(c.lg, ver) } diff --git a/tests/e2e/metrics_test.go b/tests/e2e/metrics_test.go index 421bf80a799..b515ac5b2bf 100644 --- a/tests/e2e/metrics_test.go +++ b/tests/e2e/metrics_test.go @@ -48,7 +48,7 @@ func metricsTest(cx ctlCtx) { {"/metrics", fmt.Sprintf("etcd_debugging_mvcc_keys_total 1")}, {"/metrics", fmt.Sprintf("etcd_mvcc_delete_total 3")}, {"/metrics", fmt.Sprintf(`etcd_server_version{server_version="%s"} 1`, version.Version)}, - {"/metrics", fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, version.Cluster(version.Version)+".0")}, + {"/metrics", fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, version.Cluster(version.Version))}, {"/health", `{"health":"true"}`}, } { i++