/* DO NOT EDIT: automatically built by dist/stat.py. */ #include "wt_internal.h" void __wt_stat_init_dsrc_stats(WT_DSRC_STATS *stats) { /* Clear, so can also be called for reinitialization. */ memset(stats, 0, sizeof(*stats)); stats->block_extension.desc = "block-manager: allocations requiring file extension"; stats->block_alloc.desc = "block-manager: blocks allocated"; stats->block_free.desc = "block-manager: blocks freed"; stats->block_checkpoint_size.desc = "block-manager: checkpoint size"; stats->allocation_size.desc = "block-manager: file allocation unit size"; stats->block_reuse_bytes.desc = "block-manager: file bytes available for reuse"; stats->block_magic.desc = "block-manager: file magic number"; stats->block_major.desc = "block-manager: file major version number"; stats->block_size.desc = "block-manager: file size in bytes"; stats->block_minor.desc = "block-manager: minor version number"; stats->btree_checkpoint_generation.desc = "btree: btree checkpoint generation"; stats->btree_column_fix.desc = "btree: column-store fixed-size leaf pages"; stats->btree_column_internal.desc = "btree: column-store internal pages"; stats->btree_column_deleted.desc = "btree: column-store variable-size deleted values"; stats->btree_column_variable.desc = "btree: column-store variable-size leaf pages"; stats->btree_fixed_len.desc = "btree: fixed-record size"; stats->btree_maxintlkey.desc = "btree: maximum internal page key size"; stats->btree_maxintlpage.desc = "btree: maximum internal page size"; stats->btree_maxleafkey.desc = "btree: maximum leaf page key size"; stats->btree_maxleafpage.desc = "btree: maximum leaf page size"; stats->btree_maxleafvalue.desc = "btree: maximum leaf page value size"; stats->btree_maximum_depth.desc = "btree: maximum tree depth"; stats->btree_entries.desc = "btree: number of key/value pairs"; stats->btree_overflow.desc = "btree: overflow pages"; stats->btree_compact_rewrite.desc = "btree: pages rewritten by compaction"; stats->btree_row_internal.desc = "btree: row-store internal pages"; stats->btree_row_leaf.desc = "btree: row-store leaf pages"; stats->cache_bytes_read.desc = "cache: bytes read into cache"; stats->cache_bytes_write.desc = "cache: bytes written from cache"; stats->cache_eviction_checkpoint.desc = "cache: checkpoint blocked page eviction"; stats->cache_eviction_fail.desc = "cache: data source pages selected for eviction unable to be evicted"; stats->cache_eviction_hazard.desc = "cache: hazard pointer blocked page eviction"; stats->cache_inmem_split.desc = "cache: in-memory page splits"; stats->cache_eviction_internal.desc = "cache: internal pages evicted"; stats->cache_eviction_dirty.desc = "cache: modified pages evicted"; stats->cache_read_overflow.desc = "cache: overflow pages read into cache"; stats->cache_overflow_value.desc = "cache: overflow values cached in memory"; stats->cache_eviction_deepen.desc = "cache: page split during eviction deepened the tree"; stats->cache_read.desc = "cache: pages read into cache"; stats->cache_eviction_split.desc = "cache: pages split during eviction"; stats->cache_write.desc = "cache: pages written from cache"; stats->cache_eviction_clean.desc = "cache: unmodified pages evicted"; stats->compress_read.desc = "compression: compressed pages read"; stats->compress_write.desc = "compression: compressed pages written"; stats->compress_write_fail.desc = "compression: page written failed to compress"; stats->compress_write_too_small.desc = "compression: page written was too small to compress"; stats->compress_raw_fail_temporary.desc = "compression: raw compression call failed, additional data available"; stats->compress_raw_fail.desc = "compression: raw compression call failed, no additional data available"; stats->compress_raw_ok.desc = "compression: raw compression call succeeded"; stats->cursor_insert_bulk.desc = "cursor: bulk-loaded cursor-insert calls"; stats->cursor_create.desc = "cursor: create calls"; stats->cursor_insert_bytes.desc = "cursor: cursor-insert key and value bytes inserted"; stats->cursor_remove_bytes.desc = "cursor: cursor-remove key bytes removed"; stats->cursor_update_bytes.desc = "cursor: cursor-update value bytes updated"; stats->cursor_insert.desc = "cursor: insert calls"; stats->cursor_next.desc = "cursor: next calls"; stats->cursor_prev.desc = "cursor: prev calls"; stats->cursor_remove.desc = "cursor: remove calls"; stats->cursor_reset.desc = "cursor: reset calls"; stats->cursor_search.desc = "cursor: search calls"; stats->cursor_search_near.desc = "cursor: search near calls"; stats->cursor_update.desc = "cursor: update calls"; stats->bloom_false_positive.desc = "LSM: bloom filter false positives"; stats->bloom_hit.desc = "LSM: bloom filter hits"; stats->bloom_miss.desc = "LSM: bloom filter misses"; stats->bloom_page_evict.desc = "LSM: bloom filter pages evicted from cache"; stats->bloom_page_read.desc = "LSM: bloom filter pages read into cache"; stats->bloom_count.desc = "LSM: bloom filters in the LSM tree"; stats->lsm_chunk_count.desc = "LSM: chunks in the LSM tree"; stats->lsm_generation_max.desc = "LSM: highest merge generation in the LSM tree"; stats->lsm_lookup_no_bloom.desc = "LSM: queries that could have benefited from a Bloom filter that did not exist"; stats->lsm_checkpoint_throttle.desc = "LSM: sleep for LSM checkpoint throttle"; stats->lsm_merge_throttle.desc = "LSM: sleep for LSM merge throttle"; stats->bloom_size.desc = "LSM: total size of bloom filters"; stats->rec_dictionary.desc = "reconciliation: dictionary matches"; stats->rec_suffix_compression.desc = "reconciliation: internal page key bytes discarded using suffix compression"; stats->rec_multiblock_internal.desc = "reconciliation: internal page multi-block writes"; stats->rec_overflow_key_internal.desc = "reconciliation: internal-page overflow keys"; stats->rec_prefix_compression.desc = "reconciliation: leaf page key bytes discarded using prefix compression"; stats->rec_multiblock_leaf.desc = "reconciliation: leaf page multi-block writes"; stats->rec_overflow_key_leaf.desc = "reconciliation: leaf-page overflow keys"; stats->rec_multiblock_max.desc = "reconciliation: maximum blocks required for a page"; stats->rec_overflow_value.desc = "reconciliation: overflow values written"; stats->rec_page_match.desc = "reconciliation: page checksum matches"; stats->rec_pages.desc = "reconciliation: page reconciliation calls"; stats->rec_pages_eviction.desc = "reconciliation: page reconciliation calls for eviction"; stats->rec_page_delete.desc = "reconciliation: pages deleted"; stats->session_compact.desc = "session: object compaction"; stats->session_cursor_open.desc = "session: open cursor count"; stats->txn_update_conflict.desc = "transaction: update conflicts"; } void __wt_stat_refresh_dsrc_stats(void *stats_arg) { WT_DSRC_STATS *stats; stats = (WT_DSRC_STATS *)stats_arg; stats->block_extension.v = 0; stats->block_alloc.v = 0; stats->block_free.v = 0; stats->block_checkpoint_size.v = 0; stats->allocation_size.v = 0; stats->block_reuse_bytes.v = 0; stats->block_magic.v = 0; stats->block_major.v = 0; stats->block_size.v = 0; stats->block_minor.v = 0; stats->btree_column_fix.v = 0; stats->btree_column_internal.v = 0; stats->btree_column_deleted.v = 0; stats->btree_column_variable.v = 0; stats->btree_fixed_len.v = 0; stats->btree_maxintlkey.v = 0; stats->btree_maxintlpage.v = 0; stats->btree_maxleafkey.v = 0; stats->btree_maxleafpage.v = 0; stats->btree_maxleafvalue.v = 0; stats->btree_maximum_depth.v = 0; stats->btree_entries.v = 0; stats->btree_overflow.v = 0; stats->btree_compact_rewrite.v = 0; stats->btree_row_internal.v = 0; stats->btree_row_leaf.v = 0; stats->cache_bytes_read.v = 0; stats->cache_bytes_write.v = 0; stats->cache_eviction_checkpoint.v = 0; stats->cache_eviction_fail.v = 0; stats->cache_eviction_hazard.v = 0; stats->cache_inmem_split.v = 0; stats->cache_eviction_internal.v = 0; stats->cache_eviction_dirty.v = 0; stats->cache_read_overflow.v = 0; stats->cache_overflow_value.v = 0; stats->cache_eviction_deepen.v = 0; stats->cache_read.v = 0; stats->cache_eviction_split.v = 0; stats->cache_write.v = 0; stats->cache_eviction_clean.v = 0; stats->compress_read.v = 0; stats->compress_write.v = 0; stats->compress_write_fail.v = 0; stats->compress_write_too_small.v = 0; stats->compress_raw_fail_temporary.v = 0; stats->compress_raw_fail.v = 0; stats->compress_raw_ok.v = 0; stats->cursor_insert_bulk.v = 0; stats->cursor_create.v = 0; stats->cursor_insert_bytes.v = 0; stats->cursor_remove_bytes.v = 0; stats->cursor_update_bytes.v = 0; stats->cursor_insert.v = 0; stats->cursor_next.v = 0; stats->cursor_prev.v = 0; stats->cursor_remove.v = 0; stats->cursor_reset.v = 0; stats->cursor_search.v = 0; stats->cursor_search_near.v = 0; stats->cursor_update.v = 0; stats->bloom_false_positive.v = 0; stats->bloom_hit.v = 0; stats->bloom_miss.v = 0; stats->bloom_page_evict.v = 0; stats->bloom_page_read.v = 0; stats->bloom_count.v = 0; stats->lsm_chunk_count.v = 0; stats->lsm_generation_max.v = 0; stats->lsm_lookup_no_bloom.v = 0; stats->lsm_checkpoint_throttle.v = 0; stats->lsm_merge_throttle.v = 0; stats->bloom_size.v = 0; stats->rec_dictionary.v = 0; stats->rec_suffix_compression.v = 0; stats->rec_multiblock_internal.v = 0; stats->rec_overflow_key_internal.v = 0; stats->rec_prefix_compression.v = 0; stats->rec_multiblock_leaf.v = 0; stats->rec_overflow_key_leaf.v = 0; stats->rec_multiblock_max.v = 0; stats->rec_overflow_value.v = 0; stats->rec_page_match.v = 0; stats->rec_pages.v = 0; stats->rec_pages_eviction.v = 0; stats->rec_page_delete.v = 0; stats->session_compact.v = 0; stats->txn_update_conflict.v = 0; } void __wt_stat_aggregate_dsrc_stats(const void *child, const void *parent) { WT_DSRC_STATS *c, *p; c = (WT_DSRC_STATS *)child; p = (WT_DSRC_STATS *)parent; p->block_extension.v += c->block_extension.v; p->block_alloc.v += c->block_alloc.v; p->block_free.v += c->block_free.v; p->block_checkpoint_size.v += c->block_checkpoint_size.v; p->block_reuse_bytes.v += c->block_reuse_bytes.v; p->block_size.v += c->block_size.v; p->btree_checkpoint_generation.v += c->btree_checkpoint_generation.v; p->btree_column_fix.v += c->btree_column_fix.v; p->btree_column_internal.v += c->btree_column_internal.v; p->btree_column_deleted.v += c->btree_column_deleted.v; p->btree_column_variable.v += c->btree_column_variable.v; if (c->btree_maximum_depth.v > p->btree_maximum_depth.v) p->btree_maximum_depth.v = c->btree_maximum_depth.v; p->btree_entries.v += c->btree_entries.v; p->btree_overflow.v += c->btree_overflow.v; p->btree_compact_rewrite.v += c->btree_compact_rewrite.v; p->btree_row_internal.v += c->btree_row_internal.v; p->btree_row_leaf.v += c->btree_row_leaf.v; p->cache_bytes_read.v += c->cache_bytes_read.v; p->cache_bytes_write.v += c->cache_bytes_write.v; p->cache_eviction_checkpoint.v += c->cache_eviction_checkpoint.v; p->cache_eviction_fail.v += c->cache_eviction_fail.v; p->cache_eviction_hazard.v += c->cache_eviction_hazard.v; p->cache_inmem_split.v += c->cache_inmem_split.v; p->cache_eviction_internal.v += c->cache_eviction_internal.v; p->cache_eviction_dirty.v += c->cache_eviction_dirty.v; p->cache_read_overflow.v += c->cache_read_overflow.v; p->cache_overflow_value.v += c->cache_overflow_value.v; p->cache_eviction_deepen.v += c->cache_eviction_deepen.v; p->cache_read.v += c->cache_read.v; p->cache_eviction_split.v += c->cache_eviction_split.v; p->cache_write.v += c->cache_write.v; p->cache_eviction_clean.v += c->cache_eviction_clean.v; p->compress_read.v += c->compress_read.v; p->compress_write.v += c->compress_write.v; p->compress_write_fail.v += c->compress_write_fail.v; p->compress_write_too_small.v += c->compress_write_too_small.v; p->compress_raw_fail_temporary.v += c->compress_raw_fail_temporary.v; p->compress_raw_fail.v += c->compress_raw_fail.v; p->compress_raw_ok.v += c->compress_raw_ok.v; p->cursor_insert_bulk.v += c->cursor_insert_bulk.v; p->cursor_create.v += c->cursor_create.v; p->cursor_insert_bytes.v += c->cursor_insert_bytes.v; p->cursor_remove_bytes.v += c->cursor_remove_bytes.v; p->cursor_update_bytes.v += c->cursor_update_bytes.v; p->cursor_insert.v += c->cursor_insert.v; p->cursor_next.v += c->cursor_next.v; p->cursor_prev.v += c->cursor_prev.v; p->cursor_remove.v += c->cursor_remove.v; p->cursor_reset.v += c->cursor_reset.v; p->cursor_search.v += c->cursor_search.v; p->cursor_search_near.v += c->cursor_search_near.v; p->cursor_update.v += c->cursor_update.v; p->bloom_false_positive.v += c->bloom_false_positive.v; p->bloom_hit.v += c->bloom_hit.v; p->bloom_miss.v += c->bloom_miss.v; p->bloom_page_evict.v += c->bloom_page_evict.v; p->bloom_page_read.v += c->bloom_page_read.v; p->bloom_count.v += c->bloom_count.v; if (c->lsm_generation_max.v > p->lsm_generation_max.v) p->lsm_generation_max.v = c->lsm_generation_max.v; p->lsm_lookup_no_bloom.v += c->lsm_lookup_no_bloom.v; p->lsm_checkpoint_throttle.v += c->lsm_checkpoint_throttle.v; p->lsm_merge_throttle.v += c->lsm_merge_throttle.v; p->bloom_size.v += c->bloom_size.v; p->rec_dictionary.v += c->rec_dictionary.v; p->rec_suffix_compression.v += c->rec_suffix_compression.v; p->rec_multiblock_internal.v += c->rec_multiblock_internal.v; p->rec_overflow_key_internal.v += c->rec_overflow_key_internal.v; p->rec_prefix_compression.v += c->rec_prefix_compression.v; p->rec_multiblock_leaf.v += c->rec_multiblock_leaf.v; p->rec_overflow_key_leaf.v += c->rec_overflow_key_leaf.v; if (c->rec_multiblock_max.v > p->rec_multiblock_max.v) p->rec_multiblock_max.v = c->rec_multiblock_max.v; p->rec_overflow_value.v += c->rec_overflow_value.v; p->rec_page_match.v += c->rec_page_match.v; p->rec_pages.v += c->rec_pages.v; p->rec_pages_eviction.v += c->rec_pages_eviction.v; p->rec_page_delete.v += c->rec_page_delete.v; p->session_compact.v += c->session_compact.v; p->session_cursor_open.v += c->session_cursor_open.v; p->txn_update_conflict.v += c->txn_update_conflict.v; } void __wt_stat_init_connection_stats(WT_CONNECTION_STATS *stats) { /* Clear, so can also be called for reinitialization. */ memset(stats, 0, sizeof(*stats)); stats->async_cur_queue.desc = "async: current work queue length"; stats->async_max_queue.desc = "async: maximum work queue length"; stats->async_alloc_race.desc = "async: number of allocation state races"; stats->async_flush.desc = "async: number of flush calls"; stats->async_alloc_view.desc = "async: number of operation slots viewed for allocation"; stats->async_full.desc = "async: number of times operation allocation failed"; stats->async_nowork.desc = "async: number of times worker found no work"; stats->async_op_alloc.desc = "async: total allocations"; stats->async_op_compact.desc = "async: total compact calls"; stats->async_op_insert.desc = "async: total insert calls"; stats->async_op_remove.desc = "async: total remove calls"; stats->async_op_search.desc = "async: total search calls"; stats->async_op_update.desc = "async: total update calls"; stats->block_preload.desc = "block-manager: blocks pre-loaded"; stats->block_read.desc = "block-manager: blocks read"; stats->block_write.desc = "block-manager: blocks written"; stats->block_byte_read.desc = "block-manager: bytes read"; stats->block_byte_write.desc = "block-manager: bytes written"; stats->block_map_read.desc = "block-manager: mapped blocks read"; stats->block_byte_map_read.desc = "block-manager: mapped bytes read"; stats->cache_bytes_inuse.desc = "cache: bytes currently in the cache"; stats->cache_bytes_read.desc = "cache: bytes read into cache"; stats->cache_bytes_write.desc = "cache: bytes written from cache"; stats->cache_eviction_checkpoint.desc = "cache: checkpoint blocked page eviction"; stats->cache_eviction_queue_empty.desc = "cache: eviction server candidate queue empty when topping up"; stats->cache_eviction_queue_not_empty.desc = "cache: eviction server candidate queue not empty when topping up"; stats->cache_eviction_server_evicting.desc = "cache: eviction server evicting pages"; stats->cache_eviction_server_not_evicting.desc = "cache: eviction server populating queue, but not evicting pages"; stats->cache_eviction_slow.desc = "cache: eviction server unable to reach eviction goal"; stats->cache_eviction_worker_evicting.desc = "cache: eviction worker thread evicting pages"; stats->cache_eviction_force_fail.desc = "cache: failed eviction of pages that exceeded the in-memory maximum"; stats->cache_eviction_hazard.desc = "cache: hazard pointer blocked page eviction"; stats->cache_inmem_split.desc = "cache: in-memory page splits"; stats->cache_eviction_internal.desc = "cache: internal pages evicted"; stats->cache_bytes_max.desc = "cache: maximum bytes configured"; stats->cache_eviction_maximum_page_size.desc = "cache: maximum page size at eviction"; stats->cache_eviction_dirty.desc = "cache: modified pages evicted"; stats->cache_eviction_deepen.desc = "cache: page split during eviction deepened the tree"; stats->cache_pages_inuse.desc = "cache: pages currently held in the cache"; stats->cache_eviction_force.desc = "cache: pages evicted because they exceeded the in-memory maximum"; stats->cache_eviction_force_delete.desc = "cache: pages evicted because they had chains of deleted items"; stats->cache_eviction_app.desc = "cache: pages evicted by application threads"; stats->cache_read.desc = "cache: pages read into cache"; stats->cache_eviction_fail.desc = "cache: pages selected for eviction unable to be evicted"; stats->cache_eviction_split.desc = "cache: pages split during eviction"; stats->cache_eviction_walk.desc = "cache: pages walked for eviction"; stats->cache_write.desc = "cache: pages written from cache"; stats->cache_overhead.desc = "cache: percentage overhead"; stats->cache_bytes_internal.desc = "cache: tracked bytes belonging to internal pages in the cache"; stats->cache_bytes_leaf.desc = "cache: tracked bytes belonging to leaf pages in the cache"; stats->cache_bytes_overflow.desc = "cache: tracked bytes belonging to overflow pages in the cache"; stats->cache_bytes_dirty.desc = "cache: tracked dirty bytes in the cache"; stats->cache_pages_dirty.desc = "cache: tracked dirty pages in the cache"; stats->cache_eviction_clean.desc = "cache: unmodified pages evicted"; stats->file_open.desc = "connection: files currently open"; stats->memory_allocation.desc = "connection: memory allocations"; stats->memory_free.desc = "connection: memory frees"; stats->memory_grow.desc = "connection: memory re-allocations"; stats->cond_wait.desc = "connection: pthread mutex condition wait calls"; stats->rwlock_read.desc = "connection: pthread mutex shared lock read-lock calls"; stats->rwlock_write.desc = "connection: pthread mutex shared lock write-lock calls"; stats->read_io.desc = "connection: total read I/Os"; stats->write_io.desc = "connection: total write I/Os"; stats->cursor_create.desc = "cursor: cursor create calls"; stats->cursor_insert.desc = "cursor: cursor insert calls"; stats->cursor_next.desc = "cursor: cursor next calls"; stats->cursor_prev.desc = "cursor: cursor prev calls"; stats->cursor_remove.desc = "cursor: cursor remove calls"; stats->cursor_reset.desc = "cursor: cursor reset calls"; stats->cursor_search.desc = "cursor: cursor search calls"; stats->cursor_search_near.desc = "cursor: cursor search near calls"; stats->cursor_update.desc = "cursor: cursor update calls"; stats->dh_conn_ref.desc = "data-handle: connection candidate referenced"; stats->dh_conn_handles.desc = "data-handle: connection dhandles swept"; stats->dh_conn_sweeps.desc = "data-handle: connection sweeps"; stats->dh_conn_tod.desc = "data-handle: connection time-of-death sets"; stats->dh_session_handles.desc = "data-handle: session dhandles swept"; stats->dh_session_sweeps.desc = "data-handle: session sweep attempts"; stats->log_slot_closes.desc = "log: consolidated slot closures"; stats->log_slot_races.desc = "log: consolidated slot join races"; stats->log_slot_transitions.desc = "log: consolidated slot join transitions"; stats->log_slot_joins.desc = "log: consolidated slot joins"; stats->log_slot_toosmall.desc = "log: failed to find a slot large enough for record"; stats->log_buffer_grow.desc = "log: log buffer size increases"; stats->log_bytes_payload.desc = "log: log bytes of payload data"; stats->log_bytes_written.desc = "log: log bytes written"; stats->log_reads.desc = "log: log read operations"; stats->log_compress_writes.desc = "log: log records compressed"; stats->log_compress_write_fails.desc = "log: log records not compressed"; stats->log_compress_small.desc = "log: log records too small to compress"; stats->log_release_write_lsn.desc = "log: log release advances write LSN"; stats->log_scans.desc = "log: log scan operations"; stats->log_scan_rereads.desc = "log: log scan records requiring two reads"; stats->log_write_lsn.desc = "log: log server thread advances write LSN"; stats->log_sync.desc = "log: log sync operations"; stats->log_sync_dir.desc = "log: log sync_dir operations"; stats->log_writes.desc = "log: log write operations"; stats->log_slot_consolidated.desc = "log: logging bytes consolidated"; stats->log_max_filesize.desc = "log: maximum log file size"; stats->log_prealloc_max.desc = "log: number of pre-allocated log files to create"; stats->log_prealloc_files.desc = "log: pre-allocated log files prepared"; stats->log_prealloc_used.desc = "log: pre-allocated log files used"; stats->log_slot_toobig.desc = "log: record size exceeded maximum"; stats->log_scan_records.desc = "log: records processed by log scan"; stats->log_slot_switch_fails.desc = "log: slots selected for switching that were unavailable"; stats->log_compress_mem.desc = "log: total in-memory size of compressed records"; stats->log_buffer_size.desc = "log: total log buffer size"; stats->log_compress_len.desc = "log: total size of compressed records"; stats->log_close_yields.desc = "log: yields waiting for previous log file close"; stats->lsm_work_queue_app.desc = "LSM: application work units currently queued"; stats->lsm_work_queue_manager.desc = "LSM: merge work units currently queued"; stats->lsm_rows_merged.desc = "LSM: rows merged in an LSM tree"; stats->lsm_checkpoint_throttle.desc = "LSM: sleep for LSM checkpoint throttle"; stats->lsm_merge_throttle.desc = "LSM: sleep for LSM merge throttle"; stats->lsm_work_queue_switch.desc = "LSM: switch work units currently queued"; stats->lsm_work_units_discarded.desc = "LSM: tree maintenance operations discarded"; stats->lsm_work_units_done.desc = "LSM: tree maintenance operations executed"; stats->lsm_work_units_created.desc = "LSM: tree maintenance operations scheduled"; stats->lsm_work_queue_max.desc = "LSM: tree queue hit maximum"; stats->rec_pages.desc = "reconciliation: page reconciliation calls"; stats->rec_pages_eviction.desc = "reconciliation: page reconciliation calls for eviction"; stats->rec_split_stashed_bytes.desc = "reconciliation: split bytes currently awaiting free"; stats->rec_split_stashed_objects.desc = "reconciliation: split objects currently awaiting free"; stats->session_cursor_open.desc = "session: open cursor count"; stats->session_open.desc = "session: open session count"; stats->page_busy_blocked.desc = "thread-yield: page acquire busy blocked"; stats->page_forcible_evict_blocked.desc = "thread-yield: page acquire eviction blocked"; stats->page_locked_blocked.desc = "thread-yield: page acquire locked blocked"; stats->page_read_blocked.desc = "thread-yield: page acquire read blocked"; stats->page_sleep.desc = "thread-yield: page acquire time sleeping (usecs)"; stats->txn_begin.desc = "transaction: transaction begins"; stats->txn_checkpoint_running.desc = "transaction: transaction checkpoint currently running"; stats->txn_checkpoint_generation.desc = "transaction: transaction checkpoint generation"; stats->txn_checkpoint_time_max.desc = "transaction: transaction checkpoint max time (msecs)"; stats->txn_checkpoint_time_min.desc = "transaction: transaction checkpoint min time (msecs)"; stats->txn_checkpoint_time_recent.desc = "transaction: transaction checkpoint most recent time (msecs)"; stats->txn_checkpoint_time_total.desc = "transaction: transaction checkpoint total time (msecs)"; stats->txn_checkpoint.desc = "transaction: transaction checkpoints"; stats->txn_fail_cache.desc = "transaction: transaction failures due to cache overflow"; stats->txn_pinned_range.desc = "transaction: transaction range of IDs currently pinned"; stats->txn_pinned_checkpoint_range.desc = "transaction: transaction range of IDs currently pinned by a checkpoint"; stats->txn_commit.desc = "transaction: transactions committed"; stats->txn_rollback.desc = "transaction: transactions rolled back"; } void __wt_stat_refresh_connection_stats(void *stats_arg) { WT_CONNECTION_STATS *stats; stats = (WT_CONNECTION_STATS *)stats_arg; stats->async_cur_queue.v = 0; stats->async_max_queue.v = 0; stats->async_alloc_race.v = 0; stats->async_flush.v = 0; stats->async_alloc_view.v = 0; stats->async_full.v = 0; stats->async_nowork.v = 0; stats->async_op_alloc.v = 0; stats->async_op_compact.v = 0; stats->async_op_insert.v = 0; stats->async_op_remove.v = 0; stats->async_op_search.v = 0; stats->async_op_update.v = 0; stats->block_preload.v = 0; stats->block_read.v = 0; stats->block_write.v = 0; stats->block_byte_read.v = 0; stats->block_byte_write.v = 0; stats->block_map_read.v = 0; stats->block_byte_map_read.v = 0; stats->cache_bytes_read.v = 0; stats->cache_bytes_write.v = 0; stats->cache_eviction_checkpoint.v = 0; stats->cache_eviction_queue_empty.v = 0; stats->cache_eviction_queue_not_empty.v = 0; stats->cache_eviction_server_evicting.v = 0; stats->cache_eviction_server_not_evicting.v = 0; stats->cache_eviction_slow.v = 0; stats->cache_eviction_worker_evicting.v = 0; stats->cache_eviction_force_fail.v = 0; stats->cache_eviction_hazard.v = 0; stats->cache_inmem_split.v = 0; stats->cache_eviction_internal.v = 0; stats->cache_eviction_maximum_page_size.v = 0; stats->cache_eviction_dirty.v = 0; stats->cache_eviction_deepen.v = 0; stats->cache_eviction_force.v = 0; stats->cache_eviction_force_delete.v = 0; stats->cache_eviction_app.v = 0; stats->cache_read.v = 0; stats->cache_eviction_fail.v = 0; stats->cache_eviction_split.v = 0; stats->cache_eviction_walk.v = 0; stats->cache_write.v = 0; stats->cache_eviction_clean.v = 0; stats->memory_allocation.v = 0; stats->memory_free.v = 0; stats->memory_grow.v = 0; stats->cond_wait.v = 0; stats->rwlock_read.v = 0; stats->rwlock_write.v = 0; stats->read_io.v = 0; stats->write_io.v = 0; stats->cursor_create.v = 0; stats->cursor_insert.v = 0; stats->cursor_next.v = 0; stats->cursor_prev.v = 0; stats->cursor_remove.v = 0; stats->cursor_reset.v = 0; stats->cursor_search.v = 0; stats->cursor_search_near.v = 0; stats->cursor_update.v = 0; stats->dh_conn_ref.v = 0; stats->dh_conn_handles.v = 0; stats->dh_conn_sweeps.v = 0; stats->dh_conn_tod.v = 0; stats->dh_session_handles.v = 0; stats->dh_session_sweeps.v = 0; stats->log_slot_closes.v = 0; stats->log_slot_races.v = 0; stats->log_slot_transitions.v = 0; stats->log_slot_joins.v = 0; stats->log_slot_toosmall.v = 0; stats->log_buffer_grow.v = 0; stats->log_bytes_payload.v = 0; stats->log_bytes_written.v = 0; stats->log_reads.v = 0; stats->log_compress_writes.v = 0; stats->log_compress_write_fails.v = 0; stats->log_compress_small.v = 0; stats->log_release_write_lsn.v = 0; stats->log_scans.v = 0; stats->log_scan_rereads.v = 0; stats->log_write_lsn.v = 0; stats->log_sync.v = 0; stats->log_sync_dir.v = 0; stats->log_writes.v = 0; stats->log_slot_consolidated.v = 0; stats->log_prealloc_files.v = 0; stats->log_prealloc_used.v = 0; stats->log_slot_toobig.v = 0; stats->log_scan_records.v = 0; stats->log_slot_switch_fails.v = 0; stats->log_compress_mem.v = 0; stats->log_compress_len.v = 0; stats->log_close_yields.v = 0; stats->lsm_rows_merged.v = 0; stats->lsm_checkpoint_throttle.v = 0; stats->lsm_merge_throttle.v = 0; stats->lsm_work_units_discarded.v = 0; stats->lsm_work_units_done.v = 0; stats->lsm_work_units_created.v = 0; stats->lsm_work_queue_max.v = 0; stats->rec_pages.v = 0; stats->rec_pages_eviction.v = 0; stats->page_busy_blocked.v = 0; stats->page_forcible_evict_blocked.v = 0; stats->page_locked_blocked.v = 0; stats->page_read_blocked.v = 0; stats->page_sleep.v = 0; stats->txn_begin.v = 0; stats->txn_checkpoint.v = 0; stats->txn_fail_cache.v = 0; stats->txn_commit.v = 0; stats->txn_rollback.v = 0; }