CUBRID Engine  latest
perf_monitor.h File Reference
#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>
Include dependency graph for perf_monitor.h:

Go to the source code of this file.

Classes

struct  pstat_global
 
struct  pstat_metadata
 
struct  diag_sys_config
 
struct  t_diag_monitor_db_value
 
struct  t_diag_monitor_cas_value
 
struct  monitor_cas_config
 
struct  monitor_server_config
 
struct  t_client_monitor_config
 
struct  t_shm_diag_info_server
 

Macros

#define MAX_DIAG_DATA_VALUE   0xfffffffffffffLL
 
#define MAX_SERVER_THREAD_COUNT   500
 
#define MAX_SERVER_NAMELENGTH   256
 
#define SH_MODE   0644
 
#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_PROMOTE_COUNTERS   ((PERF_MODULE_CNT) * (PERF_PAGE_CNT) * (PERF_PROMOTE_CONDITION_CNT) * (PERF_HOLDER_LATCH_CNT) * (2 /* success */))
 
#define PERF_PAGE_UNFIX_COUNTERS   ((PERF_MODULE_CNT) * (PERF_PAGE_CNT) * 2 * 2 * (PERF_HOLDER_LATCH_CNT))
 
#define PERF_PAGE_LOCK_TIME_COUNTERS   PERF_PAGE_FIX_COUNTERS
 
#define PERF_PAGE_HOLD_TIME_COUNTERS   ((PERF_MODULE_CNT) * (PERF_PAGE_CNT) * (PERF_PAGE_MODE_CNT) * (PERF_HOLDER_LATCH_CNT))
 
#define PERF_PAGE_FIX_TIME_COUNTERS   PERF_PAGE_FIX_COUNTERS
 
#define PERF_PAGE_FIX_STAT_OFFSET(module, page_type, page_found_mode, latch_mode, cond_type)
 
#define PERF_PAGE_PROMOTE_STAT_OFFSET(module, page_type, promote_cond, holder_latch, success)
 
#define PERF_PAGE_UNFIX_STAT_OFFSET(module, page_type, buf_dirty, dirtied_by_holder, holder_latch)
 
#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_HOLD_TIME_OFFSET(module, page_type, page_found_mode, latch_mode)
 
#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_MVCC_SNAPSHOT_COUNTERS   (PERF_SNAPSHOT_CNT * PERF_SNAPSHOT_RECORD_TYPE_CNT * PERF_SNAPSHOT_VISIBILITY_CNT)
 
#define PERF_MVCC_SNAPSHOT_OFFSET(snapshot, rec_type, visibility)
 
#define PERF_OBJ_LOCK_STAT_COUNTERS   (SCH_M_LOCK + 1)
 
#define PERF_DWB_FLUSHED_BLOCK_VOLUMES_CNT   10
 
#define SAFE_DIV(a, b)   ((b) == 0 ? 0 : (a) / (b))
 
#define PSTAT_COUNTER_TIMER_COUNT_VALUE(startvalp)   (startvalp)
 
#define PSTAT_COUNTER_TIMER_TOTAL_TIME_VALUE(startvalp)   ((startvalp) + 1)
 
#define PSTAT_COUNTER_TIMER_MAX_TIME_VALUE(startvalp)   ((startvalp) + 2)
 
#define PSTAT_COUNTER_TIMER_AVG_TIME_VALUE(startvalp)   ((startvalp) + 3)
 
#define LOG_TRAN_INDEX
 
#define LOG_FIND_THREAD_TRAN_INDEX(thrd)   (log_Tran_index)
 
#define TO_MSEC(elapsed)   ((int)(((elapsed).tv_sec * 1000) + (int) ((elapsed).tv_usec / 1000)))
 
#define MONITOR_WAITING_THREAD(elapsed)   (0)
 

Typedefs

typedef struct pstat_global PSTAT_GLOBAL
 
typedef struct pstat_metadata PSTAT_METADATA
 
typedef void(* PSTAT_DUMP_IN_FILE_FUNC) (FILE *, const UINT64 *stat_vals)
 
typedef void(* PSTAT_DUMP_IN_BUFFER_FUNC) (char **, const UINT64 *stat_vals, int *remaining_size)
 
typedef int(* PSTAT_LOAD_FUNC) (void)
 
typedef struct diag_sys_config DIAG_SYS_CONFIG
 
typedef struct t_diag_monitor_db_value T_DIAG_MONITOR_DB_VALUE
 
typedef struct t_diag_monitor_cas_value T_DIAG_MONITOR_CAS_VALUE
 
typedef struct monitor_cas_config MONITOR_CAS_CONFIG
 
typedef struct monitor_server_config MONITOR_SERVER_CONFIG
 
typedef struct t_client_monitor_config T_CLIENT_MONITOR_CONFIG
 
typedef struct t_shm_diag_info_server T_SHM_DIAG_INFO_SERVER
 
typedef enum t_diag_shm_mode T_DIAG_SHM_MODE
 
typedef enum t_diag_server_type T_DIAG_SERVER_TYPE
 

Enumerations

enum  PERFMON_ACTIVATION_FLAG {
  PERFMON_ACTIVATION_FLAG_DEFAULT = 0, PERFMON_ACTIVATION_FLAG_DETAILED_BTREE_PAGE = 1, PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT = 2, PERFMON_ACTIVATION_FLAG_LOCK_OBJECT = 4,
  PERFMON_ACTIVATION_FLAG_PB_HASH_ANCHOR = 8, PERFMON_ACTIVATION_FLAG_PB_VICTIMIZATION = 16, PERFMON_ACTIVATION_FLAG_THREAD = 32, PERFMON_ACTIVATION_FLAG_DAEMONS = 64,
  PERFMON_ACTIVATION_FLAG_FLUSHED_BLOCK_VOLUMES = 128, PERFMON_ACTIVATION_FLAG_LAST = PERFMON_ACTIVATION_FLAG_FLUSHED_BLOCK_VOLUMES, PERFMON_ACTIVATION_FLAG_MAX_VALUE = (PERFMON_ACTIVATION_FLAG_LAST << 1) - 1
}
 
enum  PERF_MODULE_TYPE { PERF_MODULE_SYSTEM = 0, PERF_MODULE_USER, PERF_MODULE_VACUUM, PERF_MODULE_CNT }
 
enum  PERF_HOLDER_LATCH { PERF_HOLDER_LATCH_READ = 0, PERF_HOLDER_LATCH_WRITE, PERF_HOLDER_LATCH_MIXED, PERF_HOLDER_LATCH_CNT }
 
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_PROMOTE_CONDITION { PERF_PROMOTE_ONLY_READER, PERF_PROMOTE_SHARED_READER, PERF_PROMOTE_CONDITION_CNT }
 
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 {
  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_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_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_VISIBILITY { PERF_SNAPSHOT_INVISIBLE = 0, PERF_SNAPSHOT_VISIBLE, PERF_SNAPSHOT_VISIBILITY_CNT }
 
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_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_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
}
 
enum  PSTAT_VALUE_TYPE {
  PSTAT_ACCUMULATE_SINGLE_VALUE, PSTAT_PEEK_SINGLE_VALUE, PSTAT_COUNTER_TIMER_VALUE, PSTAT_COMPUTED_RATIO_VALUE,
  PSTAT_COMPLEX_VALUE
}
 
enum  t_diag_shm_mode { DIAG_SHM_MODE_ADMIN = 0, DIAG_SHM_MODE_MONITOR = 1 }
 
enum  t_diag_server_type { DIAG_SERVER_DB = 00000, DIAG_SERVER_CAS = 10000, DIAG_SERVER_DRIVER = 20000, DIAG_SERVER_RESOURCE = 30000 }
 

Functions

void perfmon_server_dump_stats (const UINT64 *stats, FILE *stream, const char *substr)
 
void perfmon_server_dump_stats_to_buffer (const UINT64 *stats, char *buffer, int buf_size, const char *substr)
 
void perfmon_get_current_times (time_t *cpu_usr_time, time_t *cpu_sys_time, time_t *elapsed_time)
 
int perfmon_calc_diff_stats (UINT64 *stats_diff, UINT64 *new_stats, UINT64 *old_stats)
 
int perfmon_initialize (int num_trans)
 
void perfmon_finalize (void)
 
int perfmon_get_number_of_statistic_values (void)
 
UINT64 * perfmon_allocate_values (void)
 
char * perfmon_allocate_packed_values_buffer (void)
 
void perfmon_copy_values (UINT64 *src, UINT64 *dest)
 
STATIC_INLINE bool perfmon_is_perf_tracking (void) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE bool perfmon_is_perf_tracking_and_active (int activation_flag) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE bool perfmon_is_perf_tracking_force (bool always_collect) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_add_stat (THREAD_ENTRY *thread_p, PERF_STAT_ID psid, UINT64 amount) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_add_stat_to_global (PERF_STAT_ID psid, UINT64 amount) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_add_at_offset (THREAD_ENTRY *thread_p, int offset, UINT64 amount) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_inc_stat (THREAD_ENTRY *thread_p, PERF_STAT_ID psid) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_inc_stat_to_global (PERF_STAT_ID psid) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_set_stat (THREAD_ENTRY *thread_p, PERF_STAT_ID psid, int statval, bool check_watchers) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_set_at_offset (THREAD_ENTRY *thread_p, int offset, int statval, bool check_watchers) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_add_at_offset_to_global (int offset, UINT64 amount) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_set_stat_to_global (PERF_STAT_ID psid, int statval) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_set_at_offset_to_global (int offset, int statval) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_time_at_offset (THREAD_ENTRY *thread_p, int offset, UINT64 timediff) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_time_bulk_at_offset (THREAD_ENTRY *thread_p, int offset, UINT64 timediff, UINT64 count) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_time_stat (THREAD_ENTRY *thread_p, PERF_STAT_ID psid, UINT64 timediff) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE int perfmon_get_activation_flag (void) __attribute__((ALWAYS_INLINE))
 
char * perfmon_pack_stats (char *buf, UINT64 *stats)
 
char * perfmon_unpack_stats (char *buf, UINT64 *stats)
 
STATIC_INLINE void perfmon_diff_timeval (struct timeval *elapsed, struct timeval *start, struct timeval *end) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void perfmon_add_timeval (struct timeval *total, struct timeval *start, struct timeval *end) __attribute__((ALWAYS_INLINE))
 

Variables

int log_Tran_index
 
PSTAT_GLOBAL pstat_Global
 
PSTAT_METADATA pstat_Metadata []
 

Macro Definition Documentation

#define LOG_FIND_THREAD_TRAN_INDEX (   thrd)    (log_Tran_index)

Definition at line 158 of file perf_monitor.h.

Referenced by boot_can_compact(), boot_compact_start(), boot_compact_stop(), event_log_many_ioreads(), event_log_slow_query(), event_log_temp_expand_pages(), fileio_write_backup_node(), heap_mark_class_as_modified(), locator_check_btree_entries(), locator_check_unique_btree_entries(), locator_defence_drop_class_name_entry(), locator_delete_force_internal(), locator_drop_class_name_entry(), locator_drop_transient_class_name_entries(), locator_force_for_multi_update(), locator_lock_and_return_object(), locator_permoid_class_name(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), locator_return_object_assign(), locator_savepoint_class_name_entry(), locator_savepoint_transient_class_name_entries(), locator_update_index(), lock_classes_lock_hint(), lock_demote_class_lock(), lock_has_xlock(), lock_hold_object_instant(), lock_initialize_composite_lock(), lock_notify_isolation_incons(), lock_object(), lock_rep_read_tran(), lock_scan(), lock_subclass(), lock_unlock_all(), lock_unlock_all_shared_get_all_exclusive(), lock_unlock_classes_lock_hint(), lock_unlock_object(), lock_unlock_object_lock_internal(), lock_unlock_objects_lock_set(), log_2pc_attach_global_tran(), log_2pc_prepare(), log_2pc_prepare_global_tran(), log_2pc_recovery(), log_2pc_send_abort_decision(), log_2pc_start(), log_abort(), log_abort_partial(), log_add_to_modified_class_list(), log_append_dboutside_redo(), log_append_empty_record(), log_append_ha_server_state(), log_append_postpone(), log_append_redo_crumbs(), log_append_run_postpone(), log_append_savepoint(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), log_check_system_op_is_started(), log_commit(), log_complete(), log_complete_for_2pc(), log_final(), log_get_parent_lsa_system_op(), log_is_class_being_modified(), log_is_tran_in_system_op(), log_recovery(), log_skip_logging(), log_sysop_get_tran_index_and_tdes(), log_sysop_start(), log_undo_rec_restartable(), log_update_global_btid_online_index_stats(), login_user(), logtb_complete_mvcc(), logtb_find_current_client_hostname(), logtb_find_current_client_name(), logtb_find_current_client_type(), logtb_find_current_isolation(), logtb_find_current_mvccid(), logtb_find_current_tranid(), logtb_find_tran_index(), logtb_free_tran_index(), logtb_get_current_mvccid(), logtb_get_mvcc_snapshot(), logtb_has_updated(), logtb_invalidate_snapshot_data(), logtb_is_active(), logtb_is_current_active(), logtb_is_current_mvccid(), logtb_is_interrupted(), logtb_is_tran_modification_disabled(), logtb_istran_finished(), logtb_load_global_statistics_to_tran(), logtb_set_current_user_active(), logtb_set_current_user_name(), logtb_tran_create_btid_unique_stats(), logtb_tran_create_class_cos(), logtb_tran_find_btid_stats(), logtb_tran_find_class_cos(), logtb_tran_reset_count_optim_state(), logtb_tran_update_all_global_unique_stats(), logtb_tran_update_stats_online_index_rb(), logwr_log_ha_filestat_to_string(), mvcc_is_active_id(), perfmon_finalize(), pgbuf_allocate_bcb(), pgbuf_bcb_flush_with_wal(), pgbuf_block_bcb(), pgbuf_claim_bcb_for_fix(), pgbuf_find_current_wait_msecs(), pgbuf_fix_debug(), pgbuf_latch_bcb_upon_fix(), px_sort_assign(), qexec_evaluate_aggregates_optimize(), qexec_execute_insert(), qexec_execute_mainblock_internal(), qexec_execute_query(), qexec_execute_selupd_list(), qfile_end_use_of_list_cache_entry(), qfile_lookup_list_cache_entry(), qfile_update_list_cache_entry(), qmgr_add_modified_class(), qmgr_add_query_entry(), qmgr_clear_trans_wakeup(), qmgr_create_new_temp_file(), qmgr_create_result_file(), qmgr_delete_query_entry(), qmgr_free_list_temp_file(), qmgr_free_query_temp_file(), qmgr_get_current_query_id(), qmgr_get_new_page(), qmgr_get_old_page(), qmgr_get_query_entry(), sbtree_load_index(), scan_next_heap_scan(), scan_next_index_lookup_heap(), serial_update_serial_object(), spage_save_space(), test_mvcc_get_snapshot(), test_new_mvcc_complete(), xboot_restart_from_backup(), xboot_unregister_client(), xchksum_insert_repl_log_and_demote_table_lock(), xlocator_delete_class_name(), xlocator_find_class_oid(), xlocator_find_lockhint_class_oids(), xlocator_get_reserved_class_name_oid(), xlocator_rename_class_name(), xlocator_reserve_class_name(), xlocator_upgrade_instances_domain(), xlogtb_reset_isolation(), xlogtb_reset_wait_msecs(), xlogtb_set_interrupt(), xlogtb_set_suppress_repl_on_transaction(), xqfile_get_list_file_page(), xqmgr_end_query(), xqmgr_execute_query(), xqmgr_prepare_and_execute_query(), xtran_server_abort(), xtran_server_commit(), xtran_server_end_topop(), xtx_add_lob_locator(), xtx_change_state_of_locator(), xtx_drop_lob_locator(), and xtx_find_lob_locator().

#define LOG_TRAN_INDEX

Definition at line 145 of file perf_monitor.h.

#define MAX_DIAG_DATA_VALUE   0xfffffffffffffLL
#define MAX_SERVER_NAMELENGTH   256

Definition at line 53 of file perf_monitor.h.

#define MAX_SERVER_THREAD_COUNT   500

Definition at line 52 of file perf_monitor.h.

#define PERF_MVCC_SNAPSHOT_OFFSET (   snapshot,
  rec_type,
  visibility 
)
#define PERF_OBJ_LOCK_STAT_COUNTERS   (SCH_M_LOCK + 1)

Definition at line 132 of file perf_monitor.h.

Referenced by f_load_Time_obj_lock_acquire_time().

#define PERF_PAGE_FIX_TIME_COUNTERS   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 (module, page_type, page_found_mode, latch_mode, cond_type)

Definition at line 122 of file perf_monitor.h.

Referenced by perfmon_server_calc_stats().

#define PERF_PAGE_HOLD_TIME_OFFSET (   module,
  page_type,
  page_found_mode,
  latch_mode 
)
#define PERF_PAGE_LOCK_TIME_COUNTERS   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 (module, page_type, page_found_mode, latch_mode, cond_type)

Definition at line 113 of file perf_monitor.h.

Referenced by perfmon_server_calc_stats().

#define PERF_PAGE_PROMOTE_STAT_OFFSET (   module,
  page_type,
  promote_cond,
  holder_latch,
  success 
)
Value:
((module) * (PERF_PAGE_CNT) * (PERF_PROMOTE_CONDITION_CNT) * (PERF_HOLDER_LATCH_CNT) * 2 /* success */ \
+ (page_type) * (PERF_PROMOTE_CONDITION_CNT) * (PERF_HOLDER_LATCH_CNT) * 2 /* success */ \
+ (promote_cond) * (PERF_HOLDER_LATCH_CNT) * 2 /* success */ \
+ (holder_latch) * 2 /* success */ \
static int success()

Definition at line 99 of file perf_monitor.h.

Referenced by perfmon_server_calc_stats(), perfmon_stat_dump_in_buffer_promote_page_array_stat(), and perfmon_stat_dump_in_file_promote_page_array_stat().

#define PERF_PAGE_UNFIX_STAT_OFFSET (   module,
  page_type,
  buf_dirty,
  dirtied_by_holder,
  holder_latch 
)
Value:
((module) * (PERF_PAGE_CNT) * 2 * 2 * (PERF_HOLDER_LATCH_CNT) \
+ (page_type) * 2 * 2 * (PERF_HOLDER_LATCH_CNT) \
+ (buf_dirty) * 2 * (PERF_HOLDER_LATCH_CNT) \
+ (dirtied_by_holder) * (PERF_HOLDER_LATCH_CNT) \
+ (holder_latch))

Definition at line 106 of file perf_monitor.h.

Referenced by perfmon_server_calc_stats(), perfmon_stat_dump_in_buffer_unfix_page_array_stat(), and perfmon_stat_dump_in_file_unfix_page_array_stat().

#define PSTAT_COUNTER_TIMER_AVG_TIME_VALUE (   startvalp)    ((startvalp) + 3)
#define PSTAT_COUNTER_TIMER_COUNT_VALUE (   startvalp)    (startvalp)
#define PSTAT_COUNTER_TIMER_MAX_TIME_VALUE (   startvalp)    ((startvalp) + 2)

Definition at line 140 of file perf_monitor.h.

Referenced by perfmon_print_timer_to_buffer(), and perfmon_print_timer_to_file().

#define PSTAT_COUNTER_TIMER_TOTAL_TIME_VALUE (   startvalp)    ((startvalp) + 1)
#define SAFE_DIV (   a,
 
)    ((b) == 0 ? 0 : (a) / (b))

Definition at line 135 of file perf_monitor.h.

Referenced by perfmon_server_calc_stats().

#define SH_MODE   0644

Definition at line 54 of file perf_monitor.h.

#define TO_MSEC (   elapsed)    ((int)(((elapsed).tv_sec * 1000) + (int) ((elapsed).tv_usec / 1000)))

Typedef Documentation

Definition at line 726 of file perf_monitor.h.

Definition at line 762 of file perf_monitor.h.

Definition at line 769 of file perf_monitor.h.

typedef void(* PSTAT_DUMP_IN_BUFFER_FUNC) (char **, const UINT64 *stat_vals, int *remaining_size)

Definition at line 705 of file perf_monitor.h.

typedef void(* PSTAT_DUMP_IN_FILE_FUNC) (FILE *, const UINT64 *stat_vals)

Definition at line 704 of file perf_monitor.h.

typedef struct pstat_global PSTAT_GLOBAL

Definition at line 656 of file perf_monitor.h.

typedef int(* PSTAT_LOAD_FUNC) (void)

Definition at line 706 of file perf_monitor.h.

Definition at line 702 of file perf_monitor.h.

Definition at line 776 of file perf_monitor.h.

Definition at line 751 of file perf_monitor.h.

Definition at line 734 of file perf_monitor.h.

Definition at line 809 of file perf_monitor.h.

Definition at line 800 of file perf_monitor.h.

Definition at line 785 of file perf_monitor.h.

Enumeration Type Documentation

Enumerator
PERF_CONDITIONAL_FIX 
PERF_UNCONDITIONAL_FIX_NO_WAIT 
PERF_UNCONDITIONAL_FIX_WITH_WAIT 
PERF_CONDITIONAL_FIX_CNT 

Definition at line 180 of file perf_monitor.h.

Enumerator
PERF_HOLDER_LATCH_READ 
PERF_HOLDER_LATCH_WRITE 
PERF_HOLDER_LATCH_MIXED 
PERF_HOLDER_LATCH_CNT 

Definition at line 171 of file perf_monitor.h.

Enumerator
PERF_MODULE_SYSTEM 
PERF_MODULE_USER 
PERF_MODULE_VACUUM 
PERF_MODULE_CNT 

Definition at line 162 of file perf_monitor.h.

Enumerator
PERF_PAGE_MODE_OLD_LOCK_WAIT 
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 

Definition at line 197 of file perf_monitor.h.

Enumerator
PERF_PAGE_UNKNOWN 
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 

Definition at line 209 of file perf_monitor.h.

Enumerator
PERF_PROMOTE_ONLY_READER 
PERF_PROMOTE_SHARED_READER 
PERF_PROMOTE_CONDITION_CNT 

Definition at line 189 of file perf_monitor.h.

Enumerator
PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED 
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 

Definition at line 242 of file perf_monitor.h.

Enumerator
PERF_SNAPSHOT_SATISFIES_DELETE 
PERF_SNAPSHOT_SATISFIES_DIRTY 
PERF_SNAPSHOT_SATISFIES_SNAPSHOT 
PERF_SNAPSHOT_SATISFIES_VACUUM 
PERF_SNAPSHOT_CNT 

Definition at line 232 of file perf_monitor.h.

Enumerator
PERF_SNAPSHOT_INVISIBLE 
PERF_SNAPSHOT_VISIBLE 
PERF_SNAPSHOT_VISIBILITY_CNT 

Definition at line 260 of file perf_monitor.h.

Enumerator
PSTAT_BASE 
PSTAT_FILE_NUM_CREATES 
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_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_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 

Definition at line 268 of file perf_monitor.h.

Enumerator
PERFMON_ACTIVATION_FLAG_DEFAULT 
PERFMON_ACTIVATION_FLAG_DETAILED_BTREE_PAGE 
PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT 
PERFMON_ACTIVATION_FLAG_LOCK_OBJECT 
PERFMON_ACTIVATION_FLAG_PB_HASH_ANCHOR 
PERFMON_ACTIVATION_FLAG_PB_VICTIMIZATION 
PERFMON_ACTIVATION_FLAG_THREAD 
PERFMON_ACTIVATION_FLAG_DAEMONS 
PERFMON_ACTIVATION_FLAG_FLUSHED_BLOCK_VOLUMES 
PERFMON_ACTIVATION_FLAG_LAST 
PERFMON_ACTIVATION_FLAG_MAX_VALUE 

Definition at line 57 of file perf_monitor.h.

Enumerator
PSTAT_ACCUMULATE_SINGLE_VALUE 
PSTAT_PEEK_SINGLE_VALUE 
PSTAT_COUNTER_TIMER_VALUE 
PSTAT_COMPUTED_RATIO_VALUE 
PSTAT_COMPLEX_VALUE 

Definition at line 679 of file perf_monitor.h.

Enumerator
DIAG_SERVER_DB 
DIAG_SERVER_CAS 
DIAG_SERVER_DRIVER 
DIAG_SERVER_RESOURCE 

Definition at line 802 of file perf_monitor.h.

Enumerator
DIAG_SHM_MODE_ADMIN 
DIAG_SHM_MODE_MONITOR 

Definition at line 795 of file perf_monitor.h.

Function Documentation

STATIC_INLINE void perfmon_add_at_offset ( THREAD_ENTRY thread_p,
int  offset,
UINT64  amount 
)

Referenced by perfmon_add_stat_at_offset().

Here is the caller graph for this function:

STATIC_INLINE void perfmon_add_at_offset_to_global ( int  offset,
UINT64  amount 
)
STATIC_INLINE void perfmon_add_stat_to_global ( PERF_STAT_ID  psid,
UINT64  amount 
)
STATIC_INLINE void perfmon_add_timeval ( struct timeval *  total,
struct timeval *  start,
struct timeval *  end 
)

Definition at line 1349 of file perf_monitor.h.

char* perfmon_allocate_packed_values_buffer ( void  )

Definition at line 3713 of file perf_monitor.c.

References ARG_FILE_LINE, ASSERT_ALIGN, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), MAX_ALIGNMENT, NULL, and PERFMON_VALUES_MEMSIZE.

Referenced by smnt_server_copy_global_stats(), and smnt_server_copy_stats().

Here is the caller graph for this function:

UINT64* perfmon_allocate_values ( void  )
int perfmon_calc_diff_stats ( UINT64 *  stats_diff,
UINT64 *  new_stats,
UINT64 *  old_stats 
)
void perfmon_copy_values ( UINT64 *  src,
UINT64 *  dest 
)

Definition at line 3735 of file perf_monitor.c.

References PERFMON_VALUES_MEMSIZE.

STATIC_INLINE void perfmon_diff_timeval ( struct timeval *  elapsed,
struct timeval *  start,
struct timeval *  end 
)

Definition at line 1336 of file perf_monitor.h.

References STATIC_INLINE.

Referenced by lock_is_local_deadlock_detection_interval_up(), and pgbuf_get_page_flush_interval().

Here is the caller graph for this function:

STATIC_INLINE int perfmon_get_activation_flag ( void  )
void perfmon_get_current_times ( time_t *  cpu_usr_time,
time_t *  cpu_sys_time,
time_t *  elapsed_time 
)

Definition at line 1565 of file perf_monitor.c.

References NULL.

int perfmon_get_number_of_statistic_values ( void  )

Definition at line 3685 of file perf_monitor.c.

References pstat_global::n_stat_values.

Referenced by perfmon_server_copy_global_stats(), perfmon_server_copy_stats(), smnt_server_copy_global_stats(), and smnt_server_copy_stats().

Here is the caller graph for this function:

STATIC_INLINE void perfmon_inc_stat ( THREAD_ENTRY thread_p,
PERF_STAT_ID  psid 
)

Referenced by btree_delete_internal(), btree_get_next_key_info(), btree_get_stats(), btree_insert_internal(), btree_key_online_index_IB_insert_list(), btree_merge_node(), btree_merge_root(), btree_split_node(), btree_split_root(), btree_update(), file_perm_alloc(), file_perm_dealloc(), fileio_create(), fileio_read(), fileio_read_pages(), fileio_synchronize(), fileio_synchronize_all(), fileio_write(), heap_delete_bigone(), heap_delete_home(), heap_delete_relocation(), heap_insert_logical(), heap_stats_add_bestspace(), heap_update_bigone(), heap_update_home(), heap_update_relocation(), log_abort(), log_append_savepoint(), log_commit(), log_sysop_do_postpone(), log_sysop_end_final(), log_sysop_start(), log_tran_do_postpone(), logpb_archive_active_log(), logpb_checkpoint(), logpb_copy_page(), logpb_fetch_from_archive(), logpb_flush_log_for_wal(), logpb_locate_page(), logpb_prior_lsa_append_all_list(), logpb_read_page_from_active_log(), logpb_read_page_from_file(), logpb_start_append(), logpb_write_page_to_disk(), logtb_set_tran_index_interrupt(), net_server_request(), pgbuf_allocate_bcb(), pgbuf_assign_direct_victim(), pgbuf_bcb_flush_with_wal(), pgbuf_claim_bcb_for_fix(), pgbuf_copy_from_area(), pgbuf_copy_to_area(), pgbuf_delete_from_hash_chain(), pgbuf_fix_debug(), pgbuf_get_bcb_from_invalid_list(), pgbuf_get_victim_candidates_from_lru(), pgbuf_get_victim_from_lru_list(), pgbuf_insert_into_hash_chain(), pgbuf_lock_page(), pgbuf_lru_boost_bcb(), pgbuf_lru_fall_bcb_to_zone_3(), pgbuf_search_hash_chain(), pgbuf_set_dirty_buffer_ptr(), pgbuf_unlatch_bcb_upon_unfix(), pgbuf_unlatch_void_zone_bcb(), pgbuf_unlock_page(), prior_lsa_next_record_internal(), qexec_close_scan(), qexec_execute_mainblock_internal(), qexec_execute_merge(), qexec_open_scan(), scan_init_multi_range_optimization(), scan_next_index_scan(), vacuum_fetch_log_page(), vacuum_heap_record(), vacuum_heap_record_insid_and_prev_version(), xcache_cleanup(), xcache_entry_mark_deleted(), xcache_find_sha1(), xcache_find_xasl_id_for_execute(), xcache_insert(), xlocator_force(), xlocator_repl_force(), xqmgr_execute_query(), and xsession_get_prepared_statement().

STATIC_INLINE void perfmon_inc_stat_to_global ( PERF_STAT_ID  psid)
STATIC_INLINE bool perfmon_is_perf_tracking_force ( bool  always_collect)
char* perfmon_pack_stats ( char *  buf,
UINT64 *  stats 
)

Definition at line 3751 of file perf_monitor.c.

References i, pstat_global::n_stat_values, OR_INT64_SIZE, and OR_PUT_INT64.

Referenced by smnt_server_copy_global_stats(), and smnt_server_copy_stats().

Here is the caller graph for this function:

void perfmon_server_dump_stats ( const UINT64 *  stats,
FILE *  stream,
const char *  substr 
)
void perfmon_server_dump_stats_to_buffer ( const UINT64 *  stats,
char *  buffer,
int  buf_size,
const char *  substr 
)
STATIC_INLINE void perfmon_set_at_offset ( THREAD_ENTRY thread_p,
int  offset,
int  statval,
bool  check_watchers 
)
STATIC_INLINE void perfmon_set_at_offset_to_global ( int  offset,
int  statval 
)
STATIC_INLINE void perfmon_set_stat ( THREAD_ENTRY thread_p,
PERF_STAT_ID  psid,
int  statval,
bool  check_watchers 
)

Referenced by log_is_log_flush_daemon_available().

Here is the caller graph for this function:

STATIC_INLINE void perfmon_set_stat_to_global ( PERF_STAT_ID  psid,
int  statval 
)
STATIC_INLINE void perfmon_time_at_offset ( THREAD_ENTRY thread_p,
int  offset,
UINT64  timediff 
)
STATIC_INLINE void perfmon_time_bulk_at_offset ( THREAD_ENTRY thread_p,
int  offset,
UINT64  timediff,
UINT64  count 
)
STATIC_INLINE void perfmon_time_stat ( THREAD_ENTRY thread_p,
PERF_STAT_ID  psid,
UINT64  timediff 
)

Referenced by pgbuf_flush_victim_candidates().

Here is the caller graph for this function:

char* perfmon_unpack_stats ( char *  buf,
UINT64 *  stats 
)

Definition at line 3777 of file perf_monitor.c.

References i, pstat_global::n_stat_values, OR_GET_INT64, OR_INT64_SIZE, and STATIC_INLINE.

Referenced by perfmon_server_copy_global_stats(), and perfmon_server_copy_stats().

Here is the caller graph for this function:

Variable Documentation

int log_Tran_index

Definition at line 43 of file log_global.c.

Referenced by log_abort_all_active_transaction().

PSTAT_GLOBAL pstat_Global