diff --git a/_vendor/src/github.com/pingcap/pd/pd-client/client.go b/_vendor/src/github.com/pingcap/pd/pd-client/client.go index f7395513e72c3..8c3449125cd85 100644 --- a/_vendor/src/github.com/pingcap/pd/pd-client/client.go +++ b/_vendor/src/github.com/pingcap/pd/pd-client/client.go @@ -14,6 +14,8 @@ package pd import ( + "time" + "github.com/juju/errors" "github.com/ngaut/log" "github.com/pingcap/kvproto/pkg/metapb" @@ -60,8 +62,12 @@ func (c *client) GetTS() (int64, int64, error) { req := &tsoRequest{ done: make(chan error, 1), } + + start := time.Now() c.worker.requests <- req err := <-req.done + requestDuration.WithLabelValues("tso").Observe(time.Since(start).Seconds()) + return req.physical, req.logical, err } @@ -72,8 +78,12 @@ func (c *client) GetRegion(key []byte) (*metapb.Region, *metapb.Peer, error) { }, done: make(chan error, 1), } + + start := time.Now() c.worker.requests <- req err := <-req.done + requestDuration.WithLabelValues("get_region").Observe(time.Since(start).Seconds()) + if err != nil { return nil, nil, errors.Trace(err) } @@ -87,8 +97,12 @@ func (c *client) GetStore(storeID uint64) (*metapb.Store, error) { }, done: make(chan error, 1), } + + start := time.Now() c.worker.requests <- req err := <-req.done + requestDuration.WithLabelValues("get_store").Observe(time.Since(start).Seconds()) + if err != nil { return nil, errors.Trace(err) } diff --git a/_vendor/src/github.com/pingcap/pd/pd-client/metrics.go b/_vendor/src/github.com/pingcap/pd/pd-client/metrics.go index 50e8b61b31733..67b6843ed47e1 100644 --- a/_vendor/src/github.com/pingcap/pd/pd-client/metrics.go +++ b/_vendor/src/github.com/pingcap/pd/pd-client/metrics.go @@ -49,6 +49,15 @@ var ( Help: "Bucketed histogram of processing time (s) of failed handled cmds.", Buckets: prometheus.ExponentialBuckets(0.0005, 2, 13), }, []string{"type"}) + + requestDuration = prometheus.NewHistogramVec( + prometheus.HistogramOpts{ + Namespace: "pd_client", + Subsystem: "request", + Name: "handle_requests_duration_seconds", + Help: "Bucketed histogram of processing time (s) of handled requests.", + Buckets: prometheus.ExponentialBuckets(0.0005, 2, 13), + }, []string{"type"}) ) func init() { @@ -56,4 +65,5 @@ func init() { prometheus.MustRegister(cmdFailedCounter) prometheus.MustRegister(cmdDuration) prometheus.MustRegister(cmdFailedDuration) + prometheus.MustRegister(requestDuration) } diff --git a/glide.lock b/glide.lock index 4c49d5c4f445e..b2399629cb912 100644 --- a/glide.lock +++ b/glide.lock @@ -1,5 +1,5 @@ -hash: bab6532adfe1b5c1375c641787fa4f314545f74a81f6e4eba54722c27dca840b -updated: 2016-10-13T10:31:30.448228645+08:00 +hash: 7029feee34f79d15cee09307c4480d6f4da40319ff7f94e2ac3a277a8a3b4623 +updated: 2016-10-23T00:28:46.444312025+08:00 imports: - name: bitbucket.org/ww/goautoneg version: 75cd24fc2f2c2a2088577d12123ddee5f54e0675 @@ -112,7 +112,7 @@ imports: - pkg/raft_serverpb - pkg/util - name: github.com/pingcap/pd - version: 5606df6dcc8bf695a808939169734d675b4786ee + version: c0af22f4f5c96ec7bd6d7c284529fa674a06cada subpackages: - pd-client - pkg/apiutil diff --git a/glide.yaml b/glide.yaml index afe066635914d..0185b5fa29890 100644 --- a/glide.yaml +++ b/glide.yaml @@ -140,7 +140,7 @@ import: subpackages: - lex - package: github.com/pingcap/pd - version: 5606df6dcc8bf695a808939169734d675b4786ee + version: c0af22f4f5c96ec7bd6d7c284529fa674a06cada - package: github.com/pingcap/tipb version: 38084aeaf922fb5d41284865d64b2113f3ae5f1c subpackages: