File perf_monitor.h¶
FileList > base > perf_monitor.h
Go to the source code of this file
#include "connection_defs.h"#include "dbtype_def.h"#include "log_impl.h"#include "memory_alloc.h"#include "porting_inline.hpp"#include "storage_common.h"#include "thread_compat.hpp"#include "tsc_timer.h"#include <assert.h>#include <stdio.h>#include <sys/time.h>#include <time.h>
Classes¶
| Type | Name |
|---|---|
| struct | diag_sys_config |
| struct | monitor_cas_config |
| struct | monitor_server_config |
| struct | perf_utime_tracker |
| struct | perfmon_client_stat_info |
| struct | pstat_global |
| struct | pstat_metadata |
| struct | t_client_monitor_config |
| struct | t_diag_monitor_cas_value |
| struct | t_diag_monitor_db_value |
| struct | t_shm_diag_info_server |
Public Types¶
Public Attributes¶
| Type | Name |
|---|---|
| bool | perfmon_Iscollecting_stats |
| PSTAT_GLOBAL | pstat_Global |
| PSTAT_METADATA | pstat_Metadata |
Public Functions¶
Public Static Functions¶
Macros¶
| Type | Name |
|---|---|
| define | LOG_FIND_THREAD_TRAN_INDEX (thrd) ((thrd) ? (thrd)->tran\_index : [**logtb\_get\_current\_tran\_index**](log__impl_8h.md#function-logtb_get_current_tran_index)()) |
| define | MAX_DIAG_DATA_VALUE 0xfffffffffffffLL |
| define | MAX_SERVER_NAMELENGTH 256 |
| define | MAX_SERVER_THREAD_COUNT 500 |
| define | MONITOR_WAITING_THREAD (elapsed) (0) |
| define | PERF_DWB_FLUSHED_BLOCK_VOLUMES_CNT 10 |
| define | PERF_MVCC_SNAPSHOT_COUNTERS (PERF\_SNAPSHOT\_CNT \* PERF\_SNAPSHOT\_RECORD\_TYPE\_CNT \* PERF\_SNAPSHOT\_VISIBILITY\_CNT) |
| define | PERF_MVCC_SNAPSHOT_OFFSET (snapshot, rec_type, visibility) /* multi line expression */ |
| define | PERF_OBJ_LOCK_STAT_COUNTERS (SCH\_M\_LOCK + 1) |
| define | PERF_PAGE_FIX_COUNTERS ((PERF\_MODULE\_CNT) \* (PERF\_PAGE\_CNT) \* (PERF\_PAGE\_MODE\_CNT) \* (PERF\_HOLDER\_LATCH\_CNT) \* (PERF\_CONDITIONAL\_FIX\_CNT)) |
| define | PERF_PAGE_FIX_STAT_OFFSET (module, page_type, page_found_mode, latch_mode, cond_type) /* multi line expression */ |
| define | PERF_PAGE_FIX_TIME_COUNTERS [**PERF\_PAGE\_FIX\_COUNTERS**](perf__monitor_8h.md#define-perf_page_fix_counters) |
| define | PERF_PAGE_FIX_TIME_OFFSET (module, page_type, page_found_mode, latch_mode, cond_type) [**PERF\_PAGE\_FIX\_STAT\_OFFSET**](perf__monitor_8h.md#define-perf_page_fix_stat_offset) ([**module**](broker__monitor_8c.md#function-timeout), [**page\_type**](broker__monitor_8c.md#function-timeout), [**page\_found\_mode**](broker__monitor_8c.md#function-timeout), latch\_mode, [**cond\_type**](broker__monitor_8c.md#function-timeout)) |
| define | PERF_PAGE_HOLD_TIME_COUNTERS ((PERF\_MODULE\_CNT) \* (PERF\_PAGE\_CNT) \* (PERF\_PAGE\_MODE\_CNT) \* (PERF\_HOLDER\_LATCH\_CNT)) |
| define | PERF_PAGE_HOLD_TIME_OFFSET (module, page_type, page_found_mode, latch_mode) /* multi line expression */ |
| define | PERF_PAGE_LOCK_TIME_COUNTERS [**PERF\_PAGE\_FIX\_COUNTERS**](perf__monitor_8h.md#define-perf_page_fix_counters) |
| define | PERF_PAGE_LOCK_TIME_OFFSET (module, page_type, page_found_mode, latch_mode, cond_type) [**PERF\_PAGE\_FIX\_STAT\_OFFSET**](perf__monitor_8h.md#define-perf_page_fix_stat_offset) ([**module**](broker__monitor_8c.md#function-timeout), [**page\_type**](broker__monitor_8c.md#function-timeout), [**page\_found\_mode**](broker__monitor_8c.md#function-timeout), latch\_mode, [**cond\_type**](broker__monitor_8c.md#function-timeout)) |
| define | PERF_PAGE_PROMOTE_COUNTERS ((PERF\_MODULE\_CNT) \* (PERF\_PAGE\_CNT) \* (PERF\_PROMOTE\_CONDITION\_CNT) \* (PERF\_HOLDER\_LATCH\_CNT) \* (2 /\* [**success**](unittests__area_8c.md#function-success) \*/)) |
| define | PERF_PAGE_PROMOTE_STAT_OFFSET (module, page_type, promote_cond, holder_latch, success) /* multi line expression */ |
| define | PERF_PAGE_UNFIX_COUNTERS ((PERF\_MODULE\_CNT) \* (PERF\_PAGE\_CNT) \* 2 \* 2 \* (PERF\_HOLDER\_LATCH\_CNT)) |
| define | PERF_PAGE_UNFIX_STAT_OFFSET (module, page_type, buf_dirty, dirtied_by_holder, holder_latch) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_ADD_TIME (thread_p, track, psid) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_ADD_TIME_AND_RESTART (thread_p, track, psid) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_BULK_TIME (thread_p, track, psid, count) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_BULK_TIME_AND_RESTART (thread_p, track, psid, count) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_INITIALIZER { [**false**](broker__monitor_8c.md#function-timeout), {0}, {0} } |
| define | PERF_UTIME_TRACKER_START (thread_p, track) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_TIME (thread_p, track, psid) /* multi line expression */ |
| define | PERF_UTIME_TRACKER_TIME_AND_RESTART (thread_p, track, psid) /* multi line expression */ |
| define | PSTAT_COUNTER_TIMER_AVG_TIME_VALUE (startvalp) (([**startvalp**](broker__monitor_8c.md#function-timeout)) + 3) |
| define | PSTAT_COUNTER_TIMER_COUNT_VALUE (startvalp) ([**startvalp**](broker__monitor_8c.md#function-timeout)) |
| define | PSTAT_COUNTER_TIMER_MAX_TIME_VALUE (startvalp) (([**startvalp**](broker__monitor_8c.md#function-timeout)) + 2) |
| define | PSTAT_COUNTER_TIMER_TOTAL_TIME_VALUE (startvalp) (([**startvalp**](broker__monitor_8c.md#function-timeout)) + 1) |
| define | SAFE_DIV (a, b) ((b) == 0 ? 0 : ([**a**](broker__monitor_8c.md#function-timeout)) / (b)) |
| define | SH_MODE 0644 |
| define | TO_MSEC (elapsed) (([**int**](broker__monitor_8c.md#function-timeout))((([**elapsed**](cycle_8h.md#function-elapsed)).[**tv\_sec**](broker__monitor_8c.md#function-timeout) \* 1000) + ([**int**](broker__monitor_8c.md#function-timeout)) (([**elapsed**](cycle_8h.md#function-elapsed)).[**tv\_usec**](broker__monitor_8c.md#function-timeout) / 1000))) |
Public Types Documentation¶
typedef DIAG_SYS_CONFIG¶
typedef MONITOR_CAS_CONFIG¶
typedef MONITOR_SERVER_CONFIG¶
enum PERFMON_ACTIVATION_FLAG¶
enum PERFMON_ACTIVATION_FLAG {
PERFMON_ACTIVATION_FLAG_DEFAULT = 0x00000000,
PERFMON_ACTIVATION_FLAG_DETAILED_BTREE_PAGE = 0x00000001,
PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT = 0x00000002,
PERFMON_ACTIVATION_FLAG_LOCK_OBJECT = 0x00000004,
PERFMON_ACTIVATION_FLAG_PB_HASH_ANCHOR = 0x00000008,
PERFMON_ACTIVATION_FLAG_PB_VICTIMIZATION = 0x00000010,
PERFMON_ACTIVATION_FLAG_THREAD = 0x00000020,
PERFMON_ACTIVATION_FLAG_DAEMONS = 0x00000040,
PERFMON_ACTIVATION_FLAG_FLUSHED_BLOCK_VOLUMES = 0x00000080,
PERFMON_ACTIVATION_FLAG_LOG_RECOVERY_REDO_MAIN = 0x00000100,
PERFMON_ACTIVATION_FLAG_LOG_RECOVERY_REDO_ASYNC = 0x00000200,
PERFMON_ACTIVATION_FLAG_LAST = PERFMON_ACTIVATION_FLAG_LOG_RECOVERY_REDO_ASYNC,
PERFMON_ACTIVATION_FLAG_MAX_VALUE = (PERFMON_ACTIVATION_FLAG_LAST << 1) - 1
};
typedef PERFMON_CLIENT_STAT_INFO¶
enum PERF_CONDITIONAL_FIX_TYPE¶
enum PERF_CONDITIONAL_FIX_TYPE {
PERF_CONDITIONAL_FIX = 0,
PERF_UNCONDITIONAL_FIX_NO_WAIT,
PERF_UNCONDITIONAL_FIX_WITH_WAIT,
PERF_CONDITIONAL_FIX_CNT
};
enum PERF_HOLDER_LATCH¶
enum PERF_HOLDER_LATCH {
PERF_HOLDER_LATCH_READ = 0,
PERF_HOLDER_LATCH_WRITE,
PERF_HOLDER_LATCH_MIXED,
PERF_HOLDER_LATCH_CNT
};
enum PERF_MODULE_TYPE¶
enum PERF_MODULE_TYPE {
PERF_MODULE_SYSTEM = 0,
PERF_MODULE_USER,
PERF_MODULE_VACUUM,
PERF_MODULE_CNT
};
enum PERF_PAGE_MODE¶
enum PERF_PAGE_MODE {
PERF_PAGE_MODE_OLD_LOCK_WAIT = 0,
PERF_PAGE_MODE_OLD_NO_WAIT,
PERF_PAGE_MODE_NEW_LOCK_WAIT,
PERF_PAGE_MODE_NEW_NO_WAIT,
PERF_PAGE_MODE_OLD_IN_BUFFER,
PERF_PAGE_MODE_CNT
};
enum PERF_PAGE_TYPE¶
enum PERF_PAGE_TYPE {
PERF_PAGE_UNKNOWN = 0,
PERF_PAGE_FTAB,
PERF_PAGE_HEAP,
PERF_PAGE_VOLHEADER,
PERF_PAGE_VOLBITMAP,
PERF_PAGE_QRESULT,
PERF_PAGE_EHASH,
PERF_PAGE_OVERFLOW,
PERF_PAGE_AREA,
PERF_PAGE_CATALOG,
PERF_PAGE_BTREE_GENERIC,
PERF_PAGE_LOG,
PERF_PAGE_DROPPED_FILES,
PERF_PAGE_VACUUM_DATA,
PERF_PAGE_BTREE_ROOT,
PERF_PAGE_BTREE_OVF,
PERF_PAGE_BTREE_LEAF,
PERF_PAGE_BTREE_NONLEAF,
PERF_PAGE_CNT
};
enum PERF_PROMOTE_CONDITION¶
enum PERF_PROMOTE_CONDITION {
PERF_PROMOTE_ONLY_READER,
PERF_PROMOTE_SHARED_READER,
PERF_PROMOTE_CONDITION_CNT
};
enum PERF_SNAPSHOT_RECORD_TYPE¶
enum PERF_SNAPSHOT_RECORD_TYPE {
PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED = 0,
PERF_SNAPSHOT_RECORD_INSERTED_CURR_TRAN,
PERF_SNAPSHOT_RECORD_INSERTED_OTHER_TRAN,
PERF_SNAPSHOT_RECORD_INSERTED_COMMITED,
PERF_SNAPSHOT_RECORD_INSERTED_COMMITED_LOST,
PERF_SNAPSHOT_RECORD_INSERTED_DELETED,
PERF_SNAPSHOT_RECORD_DELETED_CURR_TRAN,
PERF_SNAPSHOT_RECORD_DELETED_OTHER_TRAN,
PERF_SNAPSHOT_RECORD_DELETED_COMMITTED,
PERF_SNAPSHOT_RECORD_DELETED_COMMITTED_LOST,
PERF_SNAPSHOT_RECORD_TYPE_CNT
};
enum PERF_SNAPSHOT_TYPE¶
enum PERF_SNAPSHOT_TYPE {
PERF_SNAPSHOT_SATISFIES_DELETE = 0,
PERF_SNAPSHOT_SATISFIES_DIRTY,
PERF_SNAPSHOT_SATISFIES_SNAPSHOT,
PERF_SNAPSHOT_SATISFIES_VACUUM,
PERF_SNAPSHOT_CNT
};
enum PERF_SNAPSHOT_VISIBILITY¶
enum PERF_SNAPSHOT_VISIBILITY {
PERF_SNAPSHOT_INVISIBLE = 0,
PERF_SNAPSHOT_VISIBLE,
PERF_SNAPSHOT_VISIBILITY_CNT
};
enum PERF_STAT_ID¶
enum PERF_STAT_ID {
PSTAT_BASE = -1,
PSTAT_FILE_NUM_CREATES = 0,
PSTAT_FILE_NUM_REMOVES,
PSTAT_FILE_NUM_IOREADS,
PSTAT_FILE_NUM_IOWRITES,
PSTAT_FILE_NUM_IOSYNCHES,
PSTAT_FILE_IOSYNC_ALL,
PSTAT_FILE_NUM_PAGE_ALLOCS,
PSTAT_FILE_NUM_PAGE_DEALLOCS,
PSTAT_PB_NUM_FETCHES,
PSTAT_PB_NUM_DIRTIES,
PSTAT_PB_NUM_IOREADS,
PSTAT_PB_NUM_IOWRITES,
PSTAT_PB_NUM_FLUSHED,
PSTAT_PB_PRIVATE_QUOTA,
PSTAT_PB_PRIVATE_COUNT,
PSTAT_PB_FIXED_CNT,
PSTAT_PB_DIRTY_CNT,
PSTAT_PB_LRU1_CNT,
PSTAT_PB_LRU2_CNT,
PSTAT_PB_LRU3_CNT,
PSTAT_PB_VICT_CAND,
PSTAT_LOG_NUM_FETCHES,
PSTAT_LOG_NUM_IOREADS,
PSTAT_LOG_NUM_IOWRITES,
PSTAT_LOG_NUM_APPENDRECS,
PSTAT_LOG_NUM_ARCHIVES,
PSTAT_LOG_NUM_START_CHECKPOINTS,
PSTAT_LOG_NUM_END_CHECKPOINTS,
PSTAT_LOG_NUM_WALS,
PSTAT_LOG_NUM_REPLACEMENTS_IOWRITES,
PSTAT_LOG_NUM_REPLACEMENTS,
PSTAT_LK_NUM_ACQUIRED_ON_PAGES,
PSTAT_LK_NUM_ACQUIRED_ON_OBJECTS,
PSTAT_LK_NUM_CONVERTED_ON_PAGES,
PSTAT_LK_NUM_CONVERTED_ON_OBJECTS,
PSTAT_LK_NUM_RE_REQUESTED_ON_PAGES,
PSTAT_LK_NUM_RE_REQUESTED_ON_OBJECTS,
PSTAT_LK_NUM_WAITED_ON_PAGES,
PSTAT_LK_NUM_WAITED_ON_OBJECTS,
PSTAT_LK_NUM_WAITED_TIME_ON_OBJECTS,
PSTAT_TRAN_NUM_COMMITS,
PSTAT_TRAN_NUM_ROLLBACKS,
PSTAT_TRAN_NUM_SAVEPOINTS,
PSTAT_TRAN_NUM_START_TOPOPS,
PSTAT_TRAN_NUM_END_TOPOPS,
PSTAT_TRAN_NUM_INTERRUPTS,
PSTAT_TRAN_NUM_PPCACHE_HITS,
PSTAT_TRAN_NUM_PPCACHE_MISS,
PSTAT_TRAN_NUM_TOPOP_PPCACHE_HITS,
PSTAT_TRAN_NUM_TOPOP_PPCACHE_MISS,
PSTAT_BT_NUM_INSERTS,
PSTAT_BT_NUM_DELETES,
PSTAT_BT_NUM_UPDATES,
PSTAT_BT_NUM_COVERED,
PSTAT_BT_NUM_NONCOVERED,
PSTAT_BT_NUM_RESUMES,
PSTAT_BT_NUM_MULTI_RANGE_OPT,
PSTAT_BT_NUM_SPLITS,
PSTAT_BT_NUM_MERGES,
PSTAT_BT_NUM_GET_STATS,
PSTAT_BT_ONLINE_LOAD,
PSTAT_BT_ONLINE_INSERT_TASK,
PSTAT_BT_ONLINE_PREPARE_TASK,
PSTAT_BT_ONLINE_INSERT_LEAF,
PSTAT_BT_ONLINE_NUM_INSERTS,
PSTAT_BT_ONLINE_NUM_INSERTS_SAME_PAGE_HOLD,
PSTAT_BT_ONLINE_NUM_RETRY,
PSTAT_BT_ONLINE_NUM_RETRY_NICE,
PSTAT_QM_NUM_SELECTS,
PSTAT_QM_NUM_INSERTS,
PSTAT_QM_NUM_DELETES,
PSTAT_QM_NUM_UPDATES,
PSTAT_QM_NUM_SSCANS,
PSTAT_QM_NUM_ISCANS,
PSTAT_QM_NUM_LSCANS,
PSTAT_QM_NUM_SETSCANS,
PSTAT_QM_NUM_METHSCANS,
PSTAT_QM_NUM_NLJOINS,
PSTAT_QM_NUM_MJOINS,
PSTAT_QM_NUM_HASHJOINS,
PSTAT_QM_NUM_HASHJOINS_PARTITIONED,
PSTAT_QM_NUM_HASHJOINS_PARALLEL,
PSTAT_QM_NUM_OBJFETCHES,
PSTAT_QM_NUM_HOLDABLE_CURSORS,
PSTAT_SORT_NUM_IO_PAGES,
PSTAT_SORT_NUM_DATA_PAGES,
PSTAT_NET_NUM_REQUESTS,
PSTAT_FC_NUM_PAGES,
PSTAT_FC_NUM_LOG_PAGES,
PSTAT_FC_TOKENS,
PSTAT_PRIOR_LSA_LIST_SIZE,
PSTAT_PRIOR_LSA_LIST_MAXED,
PSTAT_PRIOR_LSA_LIST_REMOVED,
PSTAT_HA_REPL_DELAY,
PSTAT_PC_NUM_ADD,
PSTAT_PC_NUM_LOOKUP,
PSTAT_PC_NUM_HIT,
PSTAT_PC_NUM_MISS,
PSTAT_PC_NUM_FULL,
PSTAT_PC_NUM_DELETE,
PSTAT_PC_NUM_INVALID_XASL_ID,
PSTAT_PC_NUM_CACHE_ENTRIES,
PSTAT_VAC_NUM_VACUUMED_LOG_PAGES,
PSTAT_VAC_NUM_TO_VACUUM_LOG_PAGES,
PSTAT_VAC_NUM_PREFETCH_REQUESTS_LOG_PAGES,
PSTAT_VAC_NUM_PREFETCH_HITS_LOG_PAGES,
PSTAT_HEAP_HOME_INSERTS,
PSTAT_HEAP_BIG_INSERTS,
PSTAT_HEAP_ASSIGN_INSERTS,
PSTAT_HEAP_HOME_DELETES,
PSTAT_HEAP_HOME_MVCC_DELETES,
PSTAT_HEAP_HOME_TO_REL_DELETES,
PSTAT_HEAP_HOME_TO_BIG_DELETES,
PSTAT_HEAP_REL_DELETES,
PSTAT_HEAP_REL_MVCC_DELETES,
PSTAT_HEAP_REL_TO_HOME_DELETES,
PSTAT_HEAP_REL_TO_BIG_DELETES,
PSTAT_HEAP_REL_TO_REL_DELETES,
PSTAT_HEAP_BIG_DELETES,
PSTAT_HEAP_BIG_MVCC_DELETES,
PSTAT_HEAP_HOME_UPDATES,
PSTAT_HEAP_HOME_TO_REL_UPDATES,
PSTAT_HEAP_HOME_TO_BIG_UPDATES,
PSTAT_HEAP_REL_UPDATES,
PSTAT_HEAP_REL_TO_HOME_UPDATES,
PSTAT_HEAP_REL_TO_REL_UPDATES,
PSTAT_HEAP_REL_TO_BIG_UPDATES,
PSTAT_HEAP_BIG_UPDATES,
PSTAT_HEAP_HOME_VACUUMS,
PSTAT_HEAP_BIG_VACUUMS,
PSTAT_HEAP_REL_VACUUMS,
PSTAT_HEAP_INSID_VACUUMS,
PSTAT_HEAP_REMOVE_VACUUMS,
PSTAT_HEAP_INSERT_PREPARE,
PSTAT_HEAP_INSERT_EXECUTE,
PSTAT_HEAP_INSERT_LOG,
PSTAT_HEAP_DELETE_PREPARE,
PSTAT_HEAP_DELETE_EXECUTE,
PSTAT_HEAP_DELETE_LOG,
PSTAT_HEAP_UPDATE_PREPARE,
PSTAT_HEAP_UPDATE_EXECUTE,
PSTAT_HEAP_UPDATE_LOG,
PSTAT_HEAP_VACUUM_PREPARE,
PSTAT_HEAP_VACUUM_EXECUTE,
PSTAT_HEAP_VACUUM_LOG,
PSTAT_HEAP_STATS_SYNC_BESTSPACE,
PSTAT_HF_NUM_STATS_ENTRIES,
PSTAT_HF_NUM_STATS_MAXED,
PSTAT_HF_BEST_SPACE_ADD,
PSTAT_HF_BEST_SPACE_DEL,
PSTAT_HF_BEST_SPACE_FIND,
PSTAT_HF_HEAP_FIND_PAGE_BEST_SPACE,
PSTAT_HF_HEAP_FIND_BEST_PAGE,
PSTAT_BT_FIX_OVF_OIDS,
PSTAT_BT_UNIQUE_RLOCKS,
PSTAT_BT_UNIQUE_WLOCKS,
PSTAT_BT_LEAF,
PSTAT_BT_TRAVERSE,
PSTAT_BT_FIND_UNIQUE,
PSTAT_BT_FIND_UNIQUE_TRAVERSE,
PSTAT_BT_RANGE_SEARCH,
PSTAT_BT_RANGE_SEARCH_TRAVERSE,
PSTAT_BT_INSERT,
PSTAT_BT_INSERT_TRAVERSE,
PSTAT_BT_DELETE,
PSTAT_BT_DELETE_TRAVERSE,
PSTAT_BT_MVCC_DELETE,
PSTAT_BT_MVCC_DELETE_TRAVERSE,
PSTAT_BT_MARK_DELETE,
PSTAT_BT_MARK_DELETE_TRAVERSE,
PSTAT_BT_UNDO_INSERT,
PSTAT_BT_UNDO_INSERT_TRAVERSE,
PSTAT_BT_UNDO_DELETE,
PSTAT_BT_UNDO_DELETE_TRAVERSE,
PSTAT_BT_UNDO_MVCC_DELETE,
PSTAT_BT_UNDO_MVCC_DELETE_TRAVERSE,
PSTAT_BT_VACUUM,
PSTAT_BT_VACUUM_TRAVERSE,
PSTAT_BT_VACUUM_INSID,
PSTAT_BT_VACUUM_INSID_TRAVERSE,
PSTAT_VAC_MASTER,
PSTAT_VAC_JOB,
PSTAT_VAC_WORKER_PROCESS_LOG,
PSTAT_VAC_WORKER_EXECUTE,
PSTAT_LOG_SNAPSHOT_TIME_COUNTERS,
PSTAT_LOG_SNAPSHOT_RETRY_COUNTERS,
PSTAT_LOG_TRAN_COMPLETE_TIME_COUNTERS,
PSTAT_LOG_OLDEST_MVCC_TIME_COUNTERS,
PSTAT_LOG_OLDEST_MVCC_RETRY_COUNTERS,
PSTAT_PB_HIT_RATIO,
PSTAT_LOG_HIT_RATIO,
PSTAT_VACUUM_DATA_HIT_RATIO,
PSTAT_PB_VACUUM_EFFICIENCY,
PSTAT_PB_VACUUM_FETCH_RATIO,
PSTAT_PB_PAGE_LOCK_ACQUIRE_TIME_10USEC,
PSTAT_PB_PAGE_HOLD_ACQUIRE_TIME_10USEC,
PSTAT_PB_PAGE_FIX_ACQUIRE_TIME_10USEC,
PSTAT_PB_PAGE_ALLOCATE_TIME_RATIO,
PSTAT_PB_PAGE_PROMOTE_SUCCESS,
PSTAT_PB_PAGE_PROMOTE_FAILED,
PSTAT_PB_PAGE_PROMOTE_TOTAL_TIME_10USEC,
PSTAT_PB_UNFIX_VOID_TO_PRIVATE_TOP,
PSTAT_PB_UNFIX_VOID_TO_PRIVATE_MID,
PSTAT_PB_UNFIX_VOID_TO_SHARED_MID,
PSTAT_PB_UNFIX_LRU_ONE_PRV_TO_SHR_MID,
PSTAT_PB_UNFIX_LRU_TWO_PRV_TO_SHR_MID,
PSTAT_PB_UNFIX_LRU_THREE_PRV_TO_SHR_MID,
PSTAT_PB_UNFIX_LRU_TWO_PRV_KEEP,
PSTAT_PB_UNFIX_LRU_TWO_SHR_KEEP,
PSTAT_PB_UNFIX_LRU_TWO_PRV_TO_TOP,
PSTAT_PB_UNFIX_LRU_TWO_SHR_TO_TOP,
PSTAT_PB_UNFIX_LRU_THREE_PRV_TO_TOP,
PSTAT_PB_UNFIX_LRU_THREE_SHR_TO_TOP,
PSTAT_PB_UNFIX_LRU_ONE_PRV_KEEP,
PSTAT_PB_UNFIX_LRU_ONE_SHR_KEEP,
PSTAT_PB_UNFIX_VOID_TO_PRIVATE_TOP_VAC,
PSTAT_PB_UNFIX_LRU_ONE_KEEP_VAC,
PSTAT_PB_UNFIX_LRU_TWO_KEEP_VAC,
PSTAT_PB_UNFIX_LRU_THREE_KEEP_VAC,
PSTAT_PB_UNFIX_VOID_AOUT_FOUND,
PSTAT_PB_UNFIX_VOID_AOUT_NOT_FOUND,
PSTAT_PB_UNFIX_VOID_AOUT_FOUND_VAC,
PSTAT_PB_UNFIX_VOID_AOUT_NOT_FOUND_VAC,
PSTAT_PB_NUM_HASH_ANCHOR_WAITS,
PSTAT_PB_TIME_HASH_ANCHOR_WAIT,
PSTAT_PB_FLUSH_COLLECT,
PSTAT_PB_FLUSH_FLUSH,
PSTAT_PB_FLUSH_SLEEP,
PSTAT_PB_FLUSH_COLLECT_PER_PAGE,
PSTAT_PB_FLUSH_FLUSH_PER_PAGE,
PSTAT_PB_FLUSH_PAGE_FLUSHED,
PSTAT_PB_FLUSH_SEND_DIRTY_TO_POST_FLUSH,
PSTAT_PB_NUM_SKIPPED_FLUSH,
PSTAT_PB_NUM_SKIPPED_NEED_WAL,
PSTAT_PB_NUM_SKIPPED_ALREADY_FLUSHED,
PSTAT_PB_NUM_SKIPPED_FIXED_OR_HOT,
PSTAT_PB_COMPENSATE_FLUSH,
PSTAT_PB_ASSIGN_DIRECT_BCB,
PSTAT_PB_WAKE_FLUSH_WAITER,
PSTAT_PB_ALLOC_BCB,
PSTAT_PB_ALLOC_BCB_SEARCH_VICTIM,
PSTAT_PB_ALLOC_BCB_COND_WAIT_HIGH_PRIO,
PSTAT_PB_ALLOC_BCB_COND_WAIT_LOW_PRIO,
PSTAT_PB_ALLOC_BCB_PRIORITIZE_VACUUM,
PSTAT_PB_VICTIM_USE_INVALID_BCB,
PSTAT_PB_VICTIM_SEARCH_OWN_PRIVATE_LISTS,
PSTAT_PB_VICTIM_SEARCH_OTHERS_PRIVATE_LISTS,
PSTAT_PB_VICTIM_SEARCH_SHARED_LISTS,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_VACUUM_VOID,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_VACUUM_LRU,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_FLUSH,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_PANIC,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_ADJUST,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_ADJUST_TO_VACUUM,
PSTAT_PB_VICTIM_ASSIGN_DIRECT_SEARCH_FOR_FLUSH,
PSTAT_PB_VICTIM_SHARED_LRU_SUCCESS,
PSTAT_PB_OWN_VICTIM_PRIVATE_LRU_SUCCESS,
PSTAT_PB_VICTIM_OTHER_PRIVATE_LRU_SUCCESS,
PSTAT_PB_VICTIM_SHARED_LRU_FAIL,
PSTAT_PB_VICTIM_OWN_PRIVATE_LRU_FAIL,
PSTAT_PB_VICTIM_OTHER_PRIVATE_LRU_FAIL,
PSTAT_PB_VICTIM_ALL_LRU_FAIL,
PSTAT_PB_VICTIM_GET_FROM_LRU,
PSTAT_PB_VICTIM_GET_FROM_LRU_LIST_WAS_EMPTY,
PSTAT_PB_VICTIM_GET_FROM_LRU_FAIL,
PSTAT_PB_VICTIM_GET_FROM_LRU_BAD_HINT,
PSTAT_PB_LFCQ_LRU_PRV_GET_CALLS,
PSTAT_PB_LFCQ_LRU_PRV_GET_EMPTY,
PSTAT_PB_LFCQ_LRU_PRV_GET_BIG,
PSTAT_PB_LFCQ_LRU_SHR_GET_CALLS,
PSTAT_PB_LFCQ_LRU_SHR_GET_EMPTY,
PSTAT_DWB_FLUSH_BLOCK_TIME_COUNTERS,
PSTAT_DWB_FILE_SYNC_HELPER_TIME_COUNTERS,
PSTAT_DWB_FLUSH_BLOCK_COND_WAIT,
PSTAT_DWB_FLUSH_BLOCK_SORT_TIME_COUNTERS,
PSTAT_DWB_DECACHE_PAGES_AFTER_WRITE,
PSTAT_DWB_WAIT_FLUSH_BLOCK_TIME_COUNTERS,
PSTAT_DWB_WAIT_FILE_SYNC_HELPER_TIME_COUNTERS,
PSTAT_DWB_FLUSH_FORCE_TIME_COUNTERS,
PSTAT_LOG_LZ4_COMPRESS_TIME_COUNTERS,
PSTAT_LOG_LZ4_DECOMPRESS_TIME_COUNTERS,
PSTAT_PB_WAIT_THREADS_HIGH_PRIO,
PSTAT_PB_WAIT_THREADS_LOW_PRIO,
PSTAT_PB_FLUSHED_BCBS_WAIT_FOR_ASSIGN,
PSTAT_PB_LFCQ_BIG_PRV_NUM,
PSTAT_PB_LFCQ_PRV_NUM,
PSTAT_PB_LFCQ_SHR_NUM,
PSTAT_PB_AVOID_DEALLOC_CNT,
PSTAT_PB_AVOID_VICTIM_CNT,
PSTAT_LOG_REDO_ASYNC,
PSTAT_LOG_REDO_FUNC_EXEC,
PSTAT_REGU_EVAL_TIME_10USEC,
PSTAT_REGU_NUM_FETCHES,
PSTAT_REGU_NUM_IOREADS,
PSTAT_REGU_NUM_CALL_EVALS,
PSTAT_PBX_FIX_COUNTERS,
PSTAT_PBX_PROMOTE_COUNTERS,
PSTAT_PBX_PROMOTE_TIME_COUNTERS,
PSTAT_PBX_UNFIX_COUNTERS,
PSTAT_PBX_LOCK_TIME_COUNTERS,
PSTAT_PBX_HOLD_TIME_COUNTERS,
PSTAT_PBX_FIX_TIME_COUNTERS,
PSTAT_MVCC_SNAPSHOT_COUNTERS,
PSTAT_OBJ_LOCK_TIME_COUNTERS,
PSTAT_THREAD_STATS,
PSTAT_THREAD_DAEMON_STATS,
PSTAT_DWB_FLUSHED_BLOCK_NUM_VOLUMES,
PSTAT_LOAD_THREAD_STATS,
PSTAT_COUNT
};
typedef PERF_UTIME_TRACKER¶
typedef PSTAT_DUMP_IN_BUFFER_FUNC¶
typedef PSTAT_DUMP_IN_FILE_FUNC¶
typedef PSTAT_GLOBAL¶
typedef PSTAT_LOAD_FUNC¶
typedef PSTAT_METADATA¶
enum PSTAT_VALUE_TYPE¶
enum PSTAT_VALUE_TYPE {
PSTAT_ACCUMULATE_SINGLE_VALUE,
PSTAT_PEEK_SINGLE_VALUE,
PSTAT_COUNTER_TIMER_VALUE,
PSTAT_COMPUTED_RATIO_VALUE,
PSTAT_COMPLEX_VALUE
};
typedef T_CLIENT_MONITOR_CONFIG¶
typedef T_DIAG_MONITOR_CAS_VALUE¶
typedef T_DIAG_MONITOR_DB_VALUE¶
typedef T_DIAG_SERVER_TYPE¶
typedef T_DIAG_SHM_MODE¶
typedef T_SHM_DIAG_INFO_SERVER¶
enum t_diag_server_type¶
enum t_diag_server_type {
DIAG_SERVER_DB = 00000,
DIAG_SERVER_CAS = 10000,
DIAG_SERVER_DRIVER = 20000,
DIAG_SERVER_RESOURCE = 30000
};
enum t_diag_shm_mode¶
Public Attributes Documentation¶
variable perfmon_Iscollecting_stats¶
variable pstat_Global¶
variable pstat_Metadata¶
Public Functions Documentation¶
function perfmon_allocate_packed_values_buffer¶
function perfmon_allocate_values¶
function perfmon_calc_diff_stats¶
int perfmon_calc_diff_stats (
UINT64 * stats_diff,
UINT64 * new_stats,
UINT64 * old_stats,
bool need_pgbuf_stat
)
function perfmon_calc_diff_stats_for_trace¶
int perfmon_calc_diff_stats_for_trace (
UINT64 * stats_diff,
UINT64 * new_stats,
UINT64 * old_stats
)
function perfmon_copy_values¶
function perfmon_db_flushed_block_volumes¶
function perfmon_destroy_parallel_stats¶
function perfmon_er_log_current_stats¶
function perfmon_finalize¶
function perfmon_get_current_times¶
void perfmon_get_current_times (
time_t * cpu_usr_time,
time_t * cpu_sys_time,
time_t * elapsed_time
)
function perfmon_get_from_statistic¶
function perfmon_get_global_stats¶
function perfmon_get_number_of_statistic_values¶
function perfmon_get_stats¶
function perfmon_get_stats_and_clear¶
function perfmon_initialize¶
function perfmon_initialize_parallel_stats¶
function perfmon_lk_waited_time_on_objects¶
function perfmon_mvcc_snapshot¶
function perfmon_pack_stats¶
function perfmon_pbx_fix¶
void perfmon_pbx_fix (
THREAD_ENTRY * thread_p,
int page_type,
int page_found_mode,
int latch_mode,
int cond_type
)
function perfmon_pbx_fix_acquire_time¶
void perfmon_pbx_fix_acquire_time (
THREAD_ENTRY * thread_p,
int page_type,
int page_found_mode,
int latch_mode,
int cond_type,
UINT64 amount
)
function perfmon_pbx_hold_acquire_time¶
void perfmon_pbx_hold_acquire_time (
THREAD_ENTRY * thread_p,
int page_type,
int page_found_mode,
int latch_mode,
UINT64 amount
)
function perfmon_pbx_lock_acquire_time¶
void perfmon_pbx_lock_acquire_time (
THREAD_ENTRY * thread_p,
int page_type,
int page_found_mode,
int latch_mode,
int cond_type,
UINT64 amount
)
function perfmon_pbx_promote¶
void perfmon_pbx_promote (
THREAD_ENTRY * thread_p,
int page_type,
int promote_cond,
int holder_latch,
int success,
UINT64 amount
)
function perfmon_pbx_unfix¶
void perfmon_pbx_unfix (
THREAD_ENTRY * thread_p,
int page_type,
int buf_dirty,
int dirtied_by_holder,
int holder_latch
)
function perfmon_print_global_stats¶
function perfmon_print_stats¶
function perfmon_reset_stats¶
function perfmon_server_dump_stats¶
function perfmon_server_dump_stats_to_buffer¶
void perfmon_server_dump_stats_to_buffer (
const UINT64 * stats,
char * buffer,
int buf_size,
const char * substr
)
function perfmon_server_is_stats_on¶
function perfmon_start_stats¶
function perfmon_start_watch¶
function perfmon_stop_stats¶
function perfmon_stop_watch¶
function perfmon_trace_dump_stats_to_buffer¶
void perfmon_trace_dump_stats_to_buffer (
const UINT64 * stats,
char * buffer,
int buf_size,
int trace_level
)
function perfmon_unpack_stats¶
Public Static Functions Documentation¶
function perfmon_add_at_offset¶
function perfmon_add_at_offset_to_global¶
function perfmon_add_at_offset_to_local¶
function perfmon_add_stat¶
function perfmon_add_stat_to_global¶
function perfmon_add_timeval¶
static void perfmon_add_timeval (
struct timeval * total,
struct timeval * start,
struct timeval * end
)
function perfmon_diff_timeval¶
static void perfmon_diff_timeval (
struct timeval * elapsed,
struct timeval * start,
struct timeval * end
)
function perfmon_get_activation_flag¶
function perfmon_inc_stat¶
function perfmon_inc_stat_to_global¶
function perfmon_is_perf_tracking¶
function perfmon_is_perf_tracking_and_active¶
function perfmon_is_perf_tracking_force¶
function perfmon_merge_child_stats_to_parent_stats¶
function perfmon_merge_parallel_stats_to_tran_stats¶
function perfmon_set_at_offset¶
static void perfmon_set_at_offset (
THREAD_ENTRY * thread_p,
int offset,
int statval,
bool check_watchers
)
function perfmon_set_at_offset_to_global¶
function perfmon_set_stat¶
static void perfmon_set_stat (
THREAD_ENTRY * thread_p,
PERF_STAT_ID psid,
int statval,
bool check_watchers
)
function perfmon_set_stat_to_global¶
function perfmon_time_at_offset¶
function perfmon_time_bulk_at_offset¶
static void perfmon_time_bulk_at_offset (
THREAD_ENTRY * thread_p,
int offset,
UINT64 timediff,
UINT64 count
)
function perfmon_time_bulk_stat¶
static void perfmon_time_bulk_stat (
THREAD_ENTRY * thread_p,
PERF_STAT_ID psid,
UINT64 timediff,
UINT64 count
)
function perfmon_time_stat¶
function perfmon_update_max_timeval¶
function perfmon_update_min_timeval¶
Macro Definition Documentation¶
define LOG_FIND_THREAD_TRAN_INDEX¶
#define LOG_FIND_THREAD_TRAN_INDEX (
thrd
) `((thrd) ? (thrd)->tran_index : logtb_get_current_tran_index ())`
define MAX_DIAG_DATA_VALUE¶
define MAX_SERVER_NAMELENGTH¶
define MAX_SERVER_THREAD_COUNT¶
define MONITOR_WAITING_THREAD¶
define PERF_DWB_FLUSHED_BLOCK_VOLUMES_CNT¶
define PERF_MVCC_SNAPSHOT_COUNTERS¶
#define PERF_MVCC_SNAPSHOT_COUNTERS `( PERF_SNAPSHOT_CNT * PERF_SNAPSHOT_RECORD_TYPE_CNT * PERF_SNAPSHOT_VISIBILITY_CNT )`
define PERF_MVCC_SNAPSHOT_OFFSET¶
define PERF_OBJ_LOCK_STAT_COUNTERS¶
define PERF_PAGE_FIX_COUNTERS¶
#define PERF_PAGE_FIX_COUNTERS `(( PERF_MODULE_CNT ) * ( PERF_PAGE_CNT ) * ( PERF_PAGE_MODE_CNT ) * ( PERF_HOLDER_LATCH_CNT ) * ( PERF_CONDITIONAL_FIX_CNT ))`
define PERF_PAGE_FIX_STAT_OFFSET¶
#define PERF_PAGE_FIX_STAT_OFFSET (
module,
page_type,
page_found_mode,
latch_mode,
cond_type
) `/* multi line expression */`
define PERF_PAGE_FIX_TIME_COUNTERS¶
define PERF_PAGE_FIX_TIME_OFFSET¶
#define PERF_PAGE_FIX_TIME_OFFSET (
module,
page_type,
page_found_mode,
latch_mode,
cond_type
) `PERF_PAGE_FIX_STAT_OFFSET ( module , page_type , page_found_mode , latch_mode, cond_type )`
define PERF_PAGE_HOLD_TIME_COUNTERS¶
#define PERF_PAGE_HOLD_TIME_COUNTERS `(( PERF_MODULE_CNT ) * ( PERF_PAGE_CNT ) * ( PERF_PAGE_MODE_CNT ) * ( PERF_HOLDER_LATCH_CNT ))`
define PERF_PAGE_HOLD_TIME_OFFSET¶
#define PERF_PAGE_HOLD_TIME_OFFSET (
module,
page_type,
page_found_mode,
latch_mode
) `/* multi line expression */`
define PERF_PAGE_LOCK_TIME_COUNTERS¶
define PERF_PAGE_LOCK_TIME_OFFSET¶
#define PERF_PAGE_LOCK_TIME_OFFSET (
module,
page_type,
page_found_mode,
latch_mode,
cond_type
) `PERF_PAGE_FIX_STAT_OFFSET ( module , page_type , page_found_mode , latch_mode, cond_type )`
define PERF_PAGE_PROMOTE_COUNTERS¶
#define PERF_PAGE_PROMOTE_COUNTERS `(( PERF_MODULE_CNT ) * ( PERF_PAGE_CNT ) * ( PERF_PROMOTE_CONDITION_CNT ) * ( PERF_HOLDER_LATCH_CNT ) * (2 /* success */))`
define PERF_PAGE_PROMOTE_STAT_OFFSET¶
#define PERF_PAGE_PROMOTE_STAT_OFFSET (
module,
page_type,
promote_cond,
holder_latch,
success
) `/* multi line expression */`
define PERF_PAGE_UNFIX_COUNTERS¶
#define PERF_PAGE_UNFIX_COUNTERS `(( PERF_MODULE_CNT ) * ( PERF_PAGE_CNT ) * 2 * 2 * ( PERF_HOLDER_LATCH_CNT ))`
define PERF_PAGE_UNFIX_STAT_OFFSET¶
#define PERF_PAGE_UNFIX_STAT_OFFSET (
module,
page_type,
buf_dirty,
dirtied_by_holder,
holder_latch
) `/* multi line expression */`
define PERF_UTIME_TRACKER_ADD_TIME¶
define PERF_UTIME_TRACKER_ADD_TIME_AND_RESTART¶
#define PERF_UTIME_TRACKER_ADD_TIME_AND_RESTART (
thread_p,
track,
psid
) `/* multi line expression */`
define PERF_UTIME_TRACKER_BULK_TIME¶
define PERF_UTIME_TRACKER_BULK_TIME_AND_RESTART¶
#define PERF_UTIME_TRACKER_BULK_TIME_AND_RESTART (
thread_p,
track,
psid,
count
) `/* multi line expression */`
define PERF_UTIME_TRACKER_INITIALIZER¶
define PERF_UTIME_TRACKER_START¶
define PERF_UTIME_TRACKER_TIME¶
define PERF_UTIME_TRACKER_TIME_AND_RESTART¶
define PSTAT_COUNTER_TIMER_AVG_TIME_VALUE¶
define PSTAT_COUNTER_TIMER_COUNT_VALUE¶
define PSTAT_COUNTER_TIMER_MAX_TIME_VALUE¶
define PSTAT_COUNTER_TIMER_TOTAL_TIME_VALUE¶
define SAFE_DIV¶
define SH_MODE¶
define TO_MSEC¶
#define TO_MSEC (
elapsed
) `(( int )((( elapsed ). tv_sec * 1000) + ( int ) (( elapsed ). tv_usec / 1000)))`
The documentation for this class was generated from the following file cubrid/src/base/perf_monitor.h