Documentation ¶
Index ¶
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" )
Statements summary table column name.
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 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 BindableStmt ¶
type BindableStmt struct { Schema string Query string PlanHint string Charset string Collation string Users map[string]struct{} // which users have processed this stmt }
BindableStmt is a wrapper struct for a statement that is extracted from statements_summary and can be created binding on.
func GetBindableStmtFromCluster ¶
func GetBindableStmtFromCluster(rows []chunk.Row) *BindableStmt
GetBindableStmtFromCluster gets users' select/update/delete SQL.
type StmtExecInfo ¶
type StmtExecInfo struct { SchemaName string OriginalSQL fmt.Stringer Charset string Collation string NormalizedSQL string Digest string PrevSQL string PrevSQLDigest string PlanGenerator func() (string, string, any) BinaryPlanGenerator func() string PlanDigest string PlanDigestGen func() string User string TotalLatency time.Duration ParseLatency time.Duration CompileLatency time.Duration StmtCtx *stmtctx.StatementContext CopTasks *execdetails.CopTasksDetails 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 }
StmtExecInfo records execution information of each statement.
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.