Documentation ¶
Index ¶
Constants ¶
View Source
const ( DebugDB = "mo_debug" FeaturesTables = "trace_features" TraceTableFilterTable = "trace_table_filters" TraceTxnFilterTable = "trace_txn_filters" TraceStatementFilterTable = "trace_statement_filters" TraceStatementTable = "trace_statement" EventTxnTable = "trace_event_txn" EventDataTable = "trace_event_data" EventErrorTable = "trace_event_error" EventTxnActionTable = "trace_event_txn_action" FeatureTraceStatement = "statement" FeatureTraceTxn = "txn" FeatureTraceTxnWorkspace = "txn-workspace" FeatureTraceTxnAction = "txn-action" FeatureTraceData = "data" StateEnable = "enable" StateDisable = "disable" )
Variables ¶
View Source
var ( EventTxnTableSQL = fmt.Sprintf(`create table %s.%s( ts bigint not null, txn_id varchar(50) not null, cn varchar(100) not null, event_type varchar(50) not null, txn_status varchar(10), snapshot_ts varchar(50), commit_ts varchar(50), info varchar(1000) )`, DebugDB, EventTxnTable) EventDataTableSQL = fmt.Sprintf(`create table %s.%s( ts bigint not null, cn varchar(100) not null, event_type varchar(50) not null, entry_type varchar(50) not null, table_id bigint UNSIGNED not null, txn_id varchar(50), row_data varchar(500) not null, committed_ts varchar(50), snapshot_ts varchar(50) )`, DebugDB, EventDataTable) TraceTableFilterTableSQL = fmt.Sprintf(`create table %s.%s( id bigint UNSIGNED primary key auto_increment, table_id bigint UNSIGNED not null, table_name varchar(50) not null, columns varchar(200) )`, DebugDB, TraceTableFilterTable) TraceTxnFilterTableSQL = fmt.Sprintf(`create table %s.%s( id bigint UNSIGNED primary key auto_increment, method varchar(50) not null, value varchar(500) not null )`, DebugDB, TraceTxnFilterTable) TraceStatementFilterTableSQL = fmt.Sprintf(`create table %s.%s( id bigint UNSIGNED primary key auto_increment, method varchar(50) not null, value varchar(500) not null )`, DebugDB, TraceStatementFilterTable) EventErrorTableSQL = fmt.Sprintf(`create table %s.%s( ts bigint not null, txn_id varchar(50) not null, error_info varchar(1000) not null )`, DebugDB, EventErrorTable) TraceStatementTableSQL = fmt.Sprintf(`create table %s.%s( ts bigint not null, txn_id varchar(50) not null, sql varchar(1000) not null, cost_us bigint not null )`, DebugDB, TraceStatementTable) EventTxnActionTableSQL = fmt.Sprintf(`create table %s.%s( ts bigint not null, txn_id varchar(50) not null, cn varchar(50) not null, table_id bigint UNSIGNED, action varchar(100) not null, action_sequence bigint UNSIGNED not null, value bigint, unit varchar(10), err varchar(100) )`, DebugDB, EventTxnActionTable) FeaturesTablesSQL = fmt.Sprintf(`create table %s.%s( name varchar(50) not null primary key, state varchar(20) not null )`, DebugDB, FeaturesTables) InitFeatureTraceTxnSQL = fmt.Sprintf(`insert into %s.%s (name, state) values ('%s', '%s')`, DebugDB, FeaturesTables, FeatureTraceTxn, StateDisable) InitFeatureTraceTxnActionSQL = fmt.Sprintf(`insert into %s.%s (name, state) values ('%s', '%s')`, DebugDB, FeaturesTables, FeatureTraceTxnAction, StateDisable) InitFeatureTraceDataSQL = fmt.Sprintf(`insert into %s.%s (name, state) values ('%s', '%s')`, DebugDB, FeaturesTables, FeatureTraceData, StateDisable) InitFeatureTraceStatementSQL = fmt.Sprintf(`insert into %s.%s (name, state) values ('%s', '%s')`, DebugDB, FeaturesTables, FeatureTraceStatement, StateDisable) InitFeatureTraceTxnWorkspaceSQL = fmt.Sprintf(`insert into %s.%s (name, state) values ('%s', '%s')`, DebugDB, FeaturesTables, FeatureTraceTxnWorkspace, StateDisable) )
View Source
var ( InitSQLs = []string{ fmt.Sprintf("create database %s", DebugDB), EventTxnTableSQL, EventDataTableSQL, TraceTableFilterTableSQL, TraceTxnFilterTableSQL, TraceStatementFilterTableSQL, EventErrorTableSQL, TraceStatementTableSQL, EventTxnActionTableSQL, FeaturesTablesSQL, InitFeatureTraceTxnSQL, InitFeatureTraceTxnActionSQL, InitFeatureTraceDataSQL, InitFeatureTraceStatementSQL, InitFeatureTraceTxnWorkspaceSQL, } )
Functions ¶
Types ¶
type EntryData ¶
type EntryData struct {
// contains filtered or unexported fields
}
EntryData entry data
type EntryFilter ¶
type EntryFilter interface { // Filter returns true means the entry should be skipped. Filter(entry *EntryData) bool Name() string }
EntryFilter entry filter to hold the entries we care about, to reduce the amount size of trace data.
func NewKeepTableFilter ¶
func NewKeepTableFilter( id uint64, column []string) EntryFilter
NewKeepTableFilter returns a filter that only keeps the specified table and columns. Note: always keep pk column if pk index is specified.
type Option ¶
type Option func(*service)
Option options to create trace service
func WithBufferSize ¶
func WithEnable ¶
func WithFlushBytes ¶
func WithFlushDuration ¶
type Service ¶
type Service interface { EnableFlush() Enable(feature string) error Disable(feature string) error Enabled(feature string) bool Sync() DecodeHexComplexPK(hex string) (string, error) Close() // contains filtered or unexported methods }
func GetService ¶
func GetService() Service
type StatementFilter ¶
type TxnFilter ¶
type TxnFilter interface { // Filter returns true means the txn should be skipped. Filter(op client.TxnOperator) bool }
Click to show internal directories.
Click to hide internal directories.