From b5c717a4ea9aa0ab76fae4cb70fa2f22765c878b Mon Sep 17 00:00:00 2001 From: XuWentao <30992981+wentaoxu@users.noreply.github.com> Date: Thu, 25 Jan 2018 14:35:14 +0800 Subject: [PATCH] store/tikv: Add metrics for async secondary lock cleanup (#5575) --- store/tikv/2pc.go | 2 ++ store/tikv/metrics.go | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/store/tikv/2pc.go b/store/tikv/2pc.go index 78079a03ae..acb5a3aa65 100644 --- a/store/tikv/2pc.go +++ b/store/tikv/2pc.go @@ -227,6 +227,7 @@ func (c *twoPhaseCommitter) doActionOnKeys(bo *Backoffer, action twoPhaseCommitA e := c.doActionOnBatches(bo, action, batches) if e != nil { log.Debugf("2PC async doActionOnBatches %s err: %v", action, e) + secondaryLockCleanupFailureCounter.WithLabelValues("commit").Inc() } }) } else { @@ -572,6 +573,7 @@ func (c *twoPhaseCommitter) execute(ctx goctx.Context) error { twoPhaseCommitGP.Go(func() { err := c.cleanupKeys(NewBackoffer(cleanupMaxBackoff, goctx.Background()), writtenKeys) if err != nil { + secondaryLockCleanupFailureCounter.WithLabelValues("rollback").Inc() log.Infof("2PC cleanup err: %v, tid: %d", err, c.startTS) } else { log.Infof("2PC clean up done, tid: %d", c.startTS) diff --git a/store/tikv/metrics.go b/store/tikv/metrics.go index 9f72caad42..29d7c4ec92 100644 --- a/store/tikv/metrics.go +++ b/store/tikv/metrics.go @@ -172,6 +172,14 @@ var ( Name: "load_safepoint_total", Help: "Counter of load safepoint.", }, []string{"type"}) + + secondaryLockCleanupFailureCounter = prometheus.NewCounterVec( + prometheus.CounterOpts{ + Namespace: "tidb", + Subsystem: "tikvclient", + Name: "lock_cleanup_task_total", + Help: "failure statistic of secondary lock cleanup task.", + }, []string{"type"}) ) func reportRegionError(e *errorpb.Error) { @@ -213,4 +221,5 @@ func init() { prometheus.MustRegister(rawkvSizeHistogram) prometheus.MustRegister(txnRegionsNumHistogram) prometheus.MustRegister(loadSafepointCounter) + prometheus.MustRegister(secondaryLockCleanupFailureCounter) }