Documentation
¶
Index ¶
- Constants
- Variables
- func NewStmtSummaryChecker(digests set.StringSet) *stmtSummaryChecker
- func NewStmtSummaryReader(user *auth.UserIdentity, hasProcessPriv bool, cols []*model.ColumnInfo, ...) *stmtSummaryReader
- type StmtDigestKey
- type StmtExecInfo
- type StmtExecLazyInfo
- type StmtNetworkTrafficSummary
- type StmtRUSummary
Constants ¶
const ( ClusterTableInstanceColumnNameStr = "INSTANCE" SummaryBeginTimeStr = "SUMMARY_BEGIN_TIME" SummaryEndTimeStr = "SUMMARY_END_TIME" StmtTypeStr = "STMT_TYPE" SchemaNameStr = "SCHEMA_NAME" DigestStr = "DIGEST" DigestTextStr = "DIGEST_TEXT" TableNamesStr = "TABLE_NAMES" IndexNamesStr = "INDEX_NAMES" SampleUserStr = "SAMPLE_USER" ExecCountStr = "EXEC_COUNT" SumErrorsStr = "SUM_ERRORS" SumWarningsStr = "SUM_WARNINGS" SumLatencyStr = "SUM_LATENCY" MaxLatencyStr = "MAX_LATENCY" MinLatencyStr = "MIN_LATENCY" AvgLatencyStr = "AVG_LATENCY" AvgParseLatencyStr = "AVG_PARSE_LATENCY" MaxParseLatencyStr = "MAX_PARSE_LATENCY" AvgCompileLatencyStr = "AVG_COMPILE_LATENCY" MaxCompileLatencyStr = "MAX_COMPILE_LATENCY" SumCopTaskNumStr = "SUM_COP_TASK_NUM" MaxCopProcessTimeStr = "MAX_COP_PROCESS_TIME" MaxCopProcessAddressStr = "MAX_COP_PROCESS_ADDRESS" MaxCopWaitTimeStr = "MAX_COP_WAIT_TIME" // #nosec G101 MaxCopWaitAddressStr = "MAX_COP_WAIT_ADDRESS" // #nosec G101 AvgProcessTimeStr = "AVG_PROCESS_TIME" MaxProcessTimeStr = "MAX_PROCESS_TIME" AvgWaitTimeStr = "AVG_WAIT_TIME" MaxWaitTimeStr = "MAX_WAIT_TIME" AvgBackoffTimeStr = "AVG_BACKOFF_TIME" MaxBackoffTimeStr = "MAX_BACKOFF_TIME" AvgTotalKeysStr = "AVG_TOTAL_KEYS" MaxTotalKeysStr = "MAX_TOTAL_KEYS" AvgProcessedKeysStr = "AVG_PROCESSED_KEYS" MaxProcessedKeysStr = "MAX_PROCESSED_KEYS" AvgRocksdbDeleteSkippedCountStr = "AVG_ROCKSDB_DELETE_SKIPPED_COUNT" MaxRocksdbDeleteSkippedCountStr = "MAX_ROCKSDB_DELETE_SKIPPED_COUNT" AvgRocksdbKeySkippedCountStr = "AVG_ROCKSDB_KEY_SKIPPED_COUNT" MaxRocksdbKeySkippedCountStr = "MAX_ROCKSDB_KEY_SKIPPED_COUNT" AvgRocksdbBlockCacheHitCountStr = "AVG_ROCKSDB_BLOCK_CACHE_HIT_COUNT" MaxRocksdbBlockCacheHitCountStr = "MAX_ROCKSDB_BLOCK_CACHE_HIT_COUNT" AvgRocksdbBlockReadCountStr = "AVG_ROCKSDB_BLOCK_READ_COUNT" MaxRocksdbBlockReadCountStr = "MAX_ROCKSDB_BLOCK_READ_COUNT" AvgRocksdbBlockReadByteStr = "AVG_ROCKSDB_BLOCK_READ_BYTE" MaxRocksdbBlockReadByteStr = "MAX_ROCKSDB_BLOCK_READ_BYTE" AvgPrewriteTimeStr = "AVG_PREWRITE_TIME" MaxPrewriteTimeStr = "MAX_PREWRITE_TIME" AvgCommitTimeStr = "AVG_COMMIT_TIME" MaxCommitTimeStr = "MAX_COMMIT_TIME" AvgGetCommitTsTimeStr = "AVG_GET_COMMIT_TS_TIME" MaxGetCommitTsTimeStr = "MAX_GET_COMMIT_TS_TIME" AvgCommitBackoffTimeStr = "AVG_COMMIT_BACKOFF_TIME" MaxCommitBackoffTimeStr = "MAX_COMMIT_BACKOFF_TIME" AvgResolveLockTimeStr = "AVG_RESOLVE_LOCK_TIME" MaxResolveLockTimeStr = "MAX_RESOLVE_LOCK_TIME" AvgLocalLatchWaitTimeStr = "AVG_LOCAL_LATCH_WAIT_TIME" MaxLocalLatchWaitTimeStr = "MAX_LOCAL_LATCH_WAIT_TIME" AvgWriteKeysStr = "AVG_WRITE_KEYS" MaxWriteKeysStr = "MAX_WRITE_KEYS" AvgWriteSizeStr = "AVG_WRITE_SIZE" MaxWriteSizeStr = "MAX_WRITE_SIZE" AvgPrewriteRegionsStr = "AVG_PREWRITE_REGIONS" MaxPrewriteRegionsStr = "MAX_PREWRITE_REGIONS" AvgTxnRetryStr = "AVG_TXN_RETRY" MaxTxnRetryStr = "MAX_TXN_RETRY" SumExecRetryStr = "SUM_EXEC_RETRY" SumExecRetryTimeStr = "SUM_EXEC_RETRY_TIME" SumBackoffTimesStr = "SUM_BACKOFF_TIMES" BackoffTypesStr = "BACKOFF_TYPES" AvgMemStr = "AVG_MEM" MaxMemStr = "MAX_MEM" AvgDiskStr = "AVG_DISK" MaxDiskStr = "MAX_DISK" AvgKvTimeStr = "AVG_KV_TIME" AvgPdTimeStr = "AVG_PD_TIME" AvgBackoffTotalTimeStr = "AVG_BACKOFF_TOTAL_TIME" AvgWriteSQLRespTimeStr = "AVG_WRITE_SQL_RESP_TIME" AvgTidbCPUTimeStr = "AVG_TIDB_CPU_TIME" AvgTikvCPUTimeStr = "AVG_TIKV_CPU_TIME" MaxResultRowsStr = "MAX_RESULT_ROWS" MinResultRowsStr = "MIN_RESULT_ROWS" AvgResultRowsStr = "AVG_RESULT_ROWS" PreparedStr = "PREPARED" AvgAffectedRowsStr = "AVG_AFFECTED_ROWS" FirstSeenStr = "FIRST_SEEN" LastSeenStr = "LAST_SEEN" PlanInCacheStr = "PLAN_IN_CACHE" PlanCacheHitsStr = "PLAN_CACHE_HITS" PlanCacheUnqualifiedStr = "PLAN_CACHE_UNQUALIFIED" PlanCacheUnqualifiedLastReasonStr = "PLAN_CACHE_UNQUALIFIED_LAST_REASON" PlanInBindingStr = "PLAN_IN_BINDING" QuerySampleTextStr = "QUERY_SAMPLE_TEXT" PrevSampleTextStr = "PREV_SAMPLE_TEXT" PlanDigestStr = "PLAN_DIGEST" PlanStr = "PLAN" BinaryPlan = "BINARY_PLAN" Charset = "CHARSET" Collation = "COLLATION" PlanHint = "PLAN_HINT" AvgRequestUnitReadStr = "AVG_REQUEST_UNIT_READ" MaxRequestUnitReadStr = "MAX_REQUEST_UNIT_READ" AvgRequestUnitWriteStr = "AVG_REQUEST_UNIT_WRITE" MaxRequestUnitWriteStr = "MAX_REQUEST_UNIT_WRITE" AvgQueuedRcTimeStr = "AVG_QUEUED_RC_TIME" MaxQueuedRcTimeStr = "MAX_QUEUED_RC_TIME" ResourceGroupName = "RESOURCE_GROUP" SumUnpackedBytesSentTiKVTotalStr = "SUM_UNPACKED_BYTES_SENT_TIKV_TOTAL" SumUnpackedBytesReceivedTiKVTotalStr = "SUM_UNPACKED_BYTES_RECEIVED_TIKV_TOTAL" SumUnpackedBytesSentTiKVCrossZoneStr = "SUM_UNPACKED_BYTES_SENT_TIKV_CROSS_ZONE" SumUnpackedBytesReceivedTiKVCrossZoneStr = "SUM_UNPACKED_BYTES_RECEIVED_TIKV_CROSS_ZONE" SumUnpackedBytesSentTiFlashTotalStr = "SUM_UNPACKED_BYTES_SENT_TIFLASH_TOTAL" SumUnpackedBytesReceivedTiFlashTotalStr = "SUM_UNPACKED_BYTES_RECEIVED_TIFLASH_TOTAL" SumUnpackedBytesSentTiFlashCrossZoneStr = "SUM_UNPACKED_BYTES_SENT_TIFLASH_CROSS_ZONE" SumUnpackedBytesReceiveTiFlashCrossZoneStr = "SUM_UNPACKED_BYTES_RECEIVED_TIFLASH_CROSS_ZONE" )
Statements summary table column name.
const ( ErrorsStr = "ERRORS" WarningsStr = "WARNINGS" MemStr = "MEM" DiskStr = "DISK" TotalTimeStr = "TOTAL_TIME" ParseTimeStr = "PARSE_TIME" CompileTimeStr = "COMPILE_TIME" CopTaskNumStr = "COP_TASK_NUM" CopProcessTimeStr = "COP_PROCESS_TIME" CopWaitTimeStr = "COP_WAIT_TIME" PdTimeStr = "PD_TIME" KvTimeStr = "KV_TIME" ProcessTimeStr = "PROCESS_TIME" WaitTimeStr = "WAIT_TIME" BackoffTimeStr = "BACKOFF_TIME" TotalKeysStr = "TOTAL_KEYS" ProcessedKeysStr = "PROCESSED_KEYS" RocksdbDeleteSkippedCountStr = "ROCKSDB_DELETE_SKIPPED_COUNT" RocksdbKeySkippedCountStr = "ROCKSDB_KEY_SKIPPED_COUNT" RocksdbBlockCacheHitCountStr = "ROCKSDB_BLOCK_CACHE_HIT_COUNT" RocksdbBlockReadCountStr = "ROCKSDB_BLOCK_READ_COUNT" RocksdbBlockReadByteStr = "ROCKSDB_BLOCK_READ_BYTE" PrewriteTimeStr = "PREWRITE_TIME" CommitTimeStr = "COMMIT_TIME" CommitTsTimeStr = "COMMIT_TS_TIME" CommitBackoffTimeStr = "COMMIT_BACKOFF_TIME" ResolveLockTimeStr = "RESOLVE_LOCK_TIME" LocalLatchWaitTimeStr = "LOCAL_LATCH_WAIT_TIME" WriteKeysStr = "WRITE_KEYS" WriteSizeStr = "WRITE_SIZE" PrewriteRegionsStr = "PREWRITE_REGIONS" TxnRetryStr = "TXN_RETRY" ExecRetryStr = "EXEC_RETRY" ExecRetryTimeStr = "EXEC_RETRY_TIME" BackoffTimesStr = "BACKOFF_TIMES" BackoffTotalTimeStr = "BACKOFF_TOTAL_TIME" WriteSQLRespTimeStr = "WRITE_SQL_RESP_TIME" ResultRowsStr = "RESULT_ROWS" AffectedRowsStr = "AFFECTED_ROWS" RequestUnitReadStr = "REQUEST_UNIT_READ" RequestUnitWriteStr = "REQUEST_UNIT_WRITE" QueuedRcTimeStr = "QUEUED_RC_TIME" UnpackedBytesSentTiKVTotalStr = "UNPACKED_BYTES_SENT_TIKV_TOTAL" UnpackedBytesReceivedTiKVTotalStr = "UNPACKED_BYTES_RECEIVED_TIKV_TOTAL" UnpackedBytesSentTiKVCrossZoneStr = "UNPACKED_BYTES_SENT_TIKV_CROSS_ZONE" UnpackedBytesReceivedTiKVCrossZoneStr = "UNPACKED_BYTES_RECEIVED_TIKV_CROSS_ZONE" UnpackedBytesSentTiFlashTotalStr = "UNPACKED_BYTES_SENT_TIFLASH_TOTAL" UnpackedBytesReceivedTiFlashTotalStr = "UNPACKED_BYTES_RECEIVED_TIFLASH_TOTAL" UnpackedBytesSentTiFlashCrossZoneStr = "UNPACKED_BYTES_SENT_TIFLASH_CROSS_ZONE" UnpackedBytesReceiveTiFlashCrossZoneStr = "UNPACKED_BYTES_RECEIVED_TIFLASH_CROSS_ZONE" )
Column names for the statement stats table, including columns that have been renamed from their equivalent columns in the statement summary table.
Variables ¶
var MaxEncodedPlanSizeInBytes = 1024 * 1024
MaxEncodedPlanSizeInBytes is the upper limit of the size of the plan and the binary plan in the stmt summary.
var StmtDigestKeyPool = sync.Pool{ New: func() any { return &StmtDigestKey{} }, }
StmtDigestKeyPool is the pool for StmtDigestKey.
var StmtSummaryByDigestMap = newStmtSummaryByDigestMap()
StmtSummaryByDigestMap is a global map containing all statement summaries.
Functions ¶
func NewStmtSummaryChecker ¶
NewStmtSummaryChecker return a new statement summaries checker.
func NewStmtSummaryReader ¶
func NewStmtSummaryReader(user *auth.UserIdentity, hasProcessPriv bool, cols []*model.ColumnInfo, instanceAddr string, tz *time.Location) *stmtSummaryReader
NewStmtSummaryReader return a new statement summaries reader.
Types ¶
type StmtDigestKey ¶
type StmtDigestKey struct {
// contains filtered or unexported fields
}
StmtDigestKey defines key for stmtSummaryByDigestMap.summaryMap.
func (*StmtDigestKey) Hash ¶
func (key *StmtDigestKey) Hash() []byte
Hash implements SimpleLRUCache.Key. Only when current SQL is `commit` do we record `prevSQL`. Otherwise, `prevSQL` is empty. `prevSQL` is included in the key To distinguish different transactions.
func (*StmtDigestKey) Init ¶
func (key *StmtDigestKey) Init(schemaName, digest, prevDigest, planDigest, resourceGroupName string)
Init initialize the hash key.
type StmtExecInfo ¶
type StmtExecInfo struct { SchemaName string Charset string Collation string NormalizedSQL string Digest string PrevSQL string PrevSQLDigest string PlanDigest string User string TotalLatency time.Duration ParseLatency time.Duration CompileLatency time.Duration StmtCtx *stmtctx.StatementContext CopTasks *execdetails.CopTasksSummary ExecDetail execdetails.ExecDetails MemMax int64 DiskMax int64 StartTime time.Time IsInternal bool Succeed bool PlanInCache bool PlanInBinding bool ExecRetryCount uint ExecRetryTime time.Duration execdetails.StmtExecDetails ResultRows int64 TiKVExecDetails *util.ExecDetails Prepared bool KeyspaceName string KeyspaceID uint32 ResourceGroupName string RUDetail *util.RUDetails CPUUsages ppcpuusage.CPUUsages PlanCacheUnqualified string LazyInfo StmtExecLazyInfo }
StmtExecInfo records execution information of each statement.
type StmtExecLazyInfo ¶
type StmtExecLazyInfo interface { GetOriginalSQL() string GetEncodedPlan() (string, string, any) GetBinaryPlan() string GetPlanDigest() string }
StmtExecLazyInfo is the interface about getting lazy information for StmtExecInfo.
type StmtNetworkTrafficSummary ¶
type StmtNetworkTrafficSummary struct { UnpackedBytesSentTiKVTotal int64 `json:"unpacked_bytes_send_tikv_total"` UnpackedBytesReceivedTiKVTotal int64 `json:"unpacked_bytes_received_tikv_total"` UnpackedBytesSentTiKVCrossZone int64 `json:"unpacked_bytes_send_tikv_cross_zone"` UnpackedBytesReceivedTiKVCrossZone int64 `json:"unpacked_bytes_received_tikv_cross_zone"` UnpackedBytesSentTiFlashTotal int64 `json:"unpacked_bytes_send_tiflash_total"` UnpackedBytesReceivedTiFlashTotal int64 `json:"unpacked_bytes_received_tiflash_total"` UnpackedBytesSentTiFlashCrossZone int64 `json:"unpacked_bytes_send_tiflash_cross_zone"` UnpackedBytesReceivedTiFlashCrossZone int64 `json:"unpacked_bytes_received_tiflash_cross_zone"` }
StmtNetworkTrafficSummary is the network traffic summary for each type of statements.
func (*StmtNetworkTrafficSummary) Add ¶
func (s *StmtNetworkTrafficSummary) Add(info *util.ExecDetails)
Add add a new sample value to the ru summary record.
func (*StmtNetworkTrafficSummary) Merge ¶
func (s *StmtNetworkTrafficSummary) Merge(other *StmtNetworkTrafficSummary)
Merge merges the value of 2 network traffic summary records.
type StmtRUSummary ¶
type StmtRUSummary struct { SumRRU float64 `json:"sum_rru"` SumWRU float64 `json:"sum_wru"` SumRUWaitDuration time.Duration `json:"sum_ru_wait_duration"` MaxRRU float64 `json:"max_rru"` MaxWRU float64 `json:"max_wru"` MaxRUWaitDuration time.Duration `json:"max_ru_wait_duration"` }
StmtRUSummary is the request-units summary for each type of statements.
func (*StmtRUSummary) Add ¶
func (s *StmtRUSummary) Add(info *util.RUDetails)
Add add a new sample value to the ru summary record.
func (*StmtRUSummary) Merge ¶
func (s *StmtRUSummary) Merge(other *StmtRUSummary)
Merge merges the value of 2 ru summary records.