stmtsummary

package
v1.1.0-beta.0...-54384b7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2025 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
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.

View Source
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

View Source
var MaxEncodedPlanSizeInBytes = 1024 * 1024

MaxEncodedPlanSizeInBytes is the upper limit of the size of the plan and the binary plan in the stmt summary.

View Source
var StmtDigestKeyPool = sync.Pool{
	New: func() any {
		return &StmtDigestKey{}
	},
}

StmtDigestKeyPool is the pool for StmtDigestKey.

View Source
var StmtSummaryByDigestMap = newStmtSummaryByDigestMap()

StmtSummaryByDigestMap is a global map containing all statement summaries.

Functions

func NewStmtSummaryChecker

func NewStmtSummaryChecker(digests set.StringSet) *stmtSummaryChecker

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

Add add a new sample value to the ru summary record.

func (*StmtNetworkTrafficSummary) Merge

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL