diff --git a/embed/etcd.go b/embed/etcd.go index d36d732a6..c1a94bc45 100644 --- a/embed/etcd.go +++ b/embed/etcd.go @@ -41,6 +41,7 @@ import ( "github.com/coreos/etcd/rafthttp" "github.com/coreos/pkg/capnslog" + "github.com/grpc-ecosystem/go-grpc-prometheus" "github.com/soheilhy/cmux" "google.golang.org/grpc" "google.golang.org/grpc/keepalive" @@ -523,6 +524,10 @@ func (e *Etcd) serveClients() (err error) { } func (e *Etcd) serveMetrics() (err error) { + if e.cfg.Metrics == "extensive" { + grpc_prometheus.EnableHandlingTimeHistogram() + } + if len(e.cfg.ListenMetricsUrls) > 0 { metricsMux := http.NewServeMux() etcdhttp.HandleMetricsHealth(metricsMux, e.Server) diff --git a/etcdmain/etcd.go b/etcdmain/etcd.go index 0174a5020..87e9b25bb 100644 --- a/etcdmain/etcd.go +++ b/etcdmain/etcd.go @@ -40,7 +40,6 @@ import ( "github.com/coreos/etcd/version" "github.com/coreos/pkg/capnslog" - "github.com/grpc-ecosystem/go-grpc-prometheus" "google.golang.org/grpc" ) @@ -179,10 +178,6 @@ func startEtcdOrProxyV2() { // startEtcd runs StartEtcd in addition to hooks needed for standalone etcd. func startEtcd(cfg *embed.Config) (<-chan struct{}, <-chan error, error) { - if cfg.Metrics == "extensive" { - grpc_prometheus.EnableHandlingTimeHistogram() - } - e, err := embed.StartEtcd(cfg) if err != nil { return nil, nil, err