*: add affected rows metrics (#36436)

close pingcap/tidb#36435
This commit is contained in:
Jack Yu
2022-07-25 17:33:10 +08:00
committed by GitHub
parent b7588e39d8
commit eb85efba33
4 changed files with 442 additions and 147 deletions

File diff suppressed because it is too large Load Diff

View File

@ -138,6 +138,7 @@ func RegisterMetrics() {
prometheus.MustRegister(PacketIOCounter)
prometheus.MustRegister(QueryDurationHistogram)
prometheus.MustRegister(QueryTotalCounter)
prometheus.MustRegister(AffectedRowsCounter)
prometheus.MustRegister(SchemaLeaseErrorCounter)
prometheus.MustRegister(ServerEventCounter)
prometheus.MustRegister(SessionExecuteCompileDuration)

View File

@ -52,6 +52,14 @@ var (
Help: "Counter of queries.",
}, []string{LblType, LblResult})
AffectedRowsCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Namespace: "tidb",
Subsystem: "server",
Name: "affected_rows",
Help: "Counters of server affected rows.",
}, []string{LblSQLType})
ConnGauge = prometheus.NewGauge(
prometheus.GaugeOpts{
Namespace: "tidb",

View File

@ -153,6 +153,11 @@ var (
connIdleDurationHistogramNotInTxn = metrics.ConnIdleDurationHistogram.WithLabelValues("0")
connIdleDurationHistogramInTxn = metrics.ConnIdleDurationHistogram.WithLabelValues("1")
affectedRowsCounterInsert = metrics.AffectedRowsCounter.WithLabelValues("Insert")
affectedRowsCounterUpdate = metrics.AffectedRowsCounter.WithLabelValues("Update")
affectedRowsCounterDelete = metrics.AffectedRowsCounter.WithLabelValues("Delete")
affectedRowsCounterReplace = metrics.AffectedRowsCounter.WithLabelValues("Replace")
)
// newClientConn creates a *clientConn object.
@ -1243,7 +1248,8 @@ func (cc *clientConn) addMetrics(cmd byte, startTime time.Time, err error) {
cost := time.Since(startTime)
sessionVar := cc.ctx.GetSessionVars()
cc.ctx.GetTxnWriteThroughputSLI().FinishExecuteStmt(cost, cc.ctx.AffectedRows(), sessionVar.InTxn())
affectedRows := cc.ctx.AffectedRows()
cc.ctx.GetTxnWriteThroughputSLI().FinishExecuteStmt(cost, affectedRows, sessionVar.InTxn())
switch sqlType {
case "Use":
@ -1258,12 +1264,16 @@ func (cc *clientConn) addMetrics(cmd byte, startTime time.Time, err error) {
queryDurationHistogramRollback.Observe(cost.Seconds())
case "Insert":
queryDurationHistogramInsert.Observe(cost.Seconds())
affectedRowsCounterInsert.Add(float64(affectedRows))
case "Replace":
queryDurationHistogramReplace.Observe(cost.Seconds())
affectedRowsCounterReplace.Add(float64(affectedRows))
case "Delete":
queryDurationHistogramDelete.Observe(cost.Seconds())
affectedRowsCounterDelete.Add(float64(affectedRows))
case "Update":
queryDurationHistogramUpdate.Observe(cost.Seconds())
affectedRowsCounterUpdate.Add(float64(affectedRows))
case "Select":
queryDurationHistogramSelect.Observe(cost.Seconds())
case "Execute":