diff options
-rw-r--r-- | src/third_party/wiredtiger/dist/s_string.ok | 1 | ||||
-rw-r--r-- | src/third_party/wiredtiger/dist/stat_data.py | 9 | ||||
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/conn/conn_cache.c | 11 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/evict/evict_page.c | 161 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/cache.h | 7 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/connection.h | 7 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/session.h | 4 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/stat.h | 9 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 831 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/reconcile/rec_write.c | 36 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/support/stat.c | 31 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/txn/txn_ckpt.c | 9 |
13 files changed, 602 insertions, 516 deletions
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok index 4b44ac4d27f..b6dd3317d7c 100644 --- a/src/third_party/wiredtiger/dist/s_string.ok +++ b/src/third_party/wiredtiger/dist/s_string.ok @@ -1122,6 +1122,7 @@ reconfiguring recsize rectype recurse +reentrant refp regionp relocked diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py index 243e267b498..8687c4162a0 100644 --- a/src/third_party/wiredtiger/dist/stat_data.py +++ b/src/third_party/wiredtiger/dist/stat_data.py @@ -275,7 +275,7 @@ conn_stats = [ CacheStat('cache_eviction_internal_pages_queued', 'internal pages queued for eviction'), CacheStat('cache_eviction_internal_pages_seen', 'internal pages seen by eviction walk'), CacheStat('cache_eviction_maximum_page_size', 'maximum page size seen at eviction', 'no_clear,no_scale,size'), - CacheStat('cache_eviction_maximum_seconds', 'maximum seconds spent at a single eviction', 'no_clear,no_scale,size'), + CacheStat('cache_eviction_maximum_milliseconds', 'maximum milliseconds spent at a single eviction', 'no_clear,no_scale,size'), CacheStat('cache_eviction_pages_already_queued', 'pages seen by eviction walk that are already queued'), CacheStat('cache_eviction_pages_in_parallel_with_checkpoint', 'pages evicted in parallel with checkpoint'), CacheStat('cache_eviction_pages_queued', 'pages queued for eviction'), @@ -307,6 +307,7 @@ conn_stats = [ CacheStat('cache_hazard_walks', 'hazard pointer check entries walked'), CacheStat('cache_hs_ondisk', 'history store table on-disk size', 'no_clear,no_scale,size'), CacheStat('cache_hs_ondisk_max', 'history store table max on-disk size', 'no_clear,no_scale,size'), + CacheStat('cache_reentry_hs_eviction_milliseconds', 'total milliseconds spent inside reentrant history store evictions in a reconciliation', 'no_clear,no_scale,size'), CacheStat('cache_overhead', 'percentage overhead', 'no_clear,no_scale'), CacheStat('cache_pages_dirty', 'tracked dirty pages in the cache', 'no_clear,no_scale'), CacheStat('cache_pages_inuse', 'pages currently held in the cache', 'no_clear,no_scale'), @@ -525,9 +526,9 @@ conn_stats = [ ########################################## # Reconciliation statistics ########################################## - RecStat('rec_maximum_hs_wrapup_seconds', 'maximum seconds spent in moving updates to the history store in a reconciliation', 'no_clear,no_scale,size'), - RecStat('rec_maximum_image_build_seconds', 'maximum seconds spent in building a disk image in a reconciliation', 'no_clear,no_scale,size'), - RecStat('rec_maximum_seconds', 'maximum seconds spent in a reconciliation call', 'no_clear,no_scale,size'), + RecStat('rec_maximum_hs_wrapup_milliseconds', 'maximum milliseconds spent in moving updates to the history store in a reconciliation', 'no_clear,no_scale,size'), + RecStat('rec_maximum_image_build_milliseconds', 'maximum milliseconds spent in building a disk image in a reconciliation', 'no_clear,no_scale,size'), + RecStat('rec_maximum_milliseconds', 'maximum milliseconds spent in a reconciliation call', 'no_clear,no_scale,size'), RecStat('rec_overflow_key_leaf', 'leaf-page overflow keys'), RecStat('rec_pages_with_prepare', 'page reconciliation calls that resulted in values with prepared transaction metadata'), RecStat('rec_pages_with_ts', 'page reconciliation calls that resulted in values with timestamps'), diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 51117aeff22..c18f3d929fe 100644 --- a/src/third_party/wiredtiger/import.data +++ b/src/third_party/wiredtiger/import.data @@ -2,5 +2,5 @@ "vendor": "wiredtiger", "github": "wiredtiger/wiredtiger.git", "branch": "mongodb-master", - "commit": "abad2c9b00ef5c3170748609dd898fd464a0ad0f" + "commit": "4061ee7289304fdd594e2b1377bfa432ee6533e1" } diff --git a/src/third_party/wiredtiger/src/conn/conn_cache.c b/src/third_party/wiredtiger/src/conn/conn_cache.c index 1f3d5cba1f5..83d7cf7774f 100644 --- a/src/third_party/wiredtiger/src/conn/conn_cache.c +++ b/src/third_party/wiredtiger/src/conn/conn_cache.c @@ -324,7 +324,9 @@ __wt_cache_stats_update(WT_SESSION_IMPL *session) WT_STAT_SET(session, stats, cache_bytes_updates, __wt_cache_bytes_updates(cache)); WT_STAT_SET(session, stats, cache_eviction_maximum_page_size, cache->evict_max_page_size); - WT_STAT_SET(session, stats, cache_eviction_maximum_seconds, cache->evict_max_seconds); + WT_STAT_SET(session, stats, cache_eviction_maximum_milliseconds, cache->evict_max_ms); + WT_STAT_SET( + session, stats, cache_reentry_hs_eviction_milliseconds, cache->reentry_hs_eviction_ms); WT_STAT_SET( session, stats, cache_pages_dirty, cache->pages_dirty_intl + cache->pages_dirty_leaf); @@ -343,10 +345,11 @@ __wt_cache_stats_update(WT_SESSION_IMPL *session) if (conn->evict_server_running) WT_STAT_SET(session, stats, cache_eviction_walks_active, cache->walk_session->nhazard); - WT_STAT_SET(session, stats, rec_maximum_hs_wrapup_seconds, conn->rec_maximum_hs_wrapup_seconds); WT_STAT_SET( - session, stats, rec_maximum_image_build_seconds, conn->rec_maximum_image_build_seconds); - WT_STAT_SET(session, stats, rec_maximum_seconds, conn->rec_maximum_seconds); + session, stats, rec_maximum_hs_wrapup_milliseconds, conn->rec_maximum_hs_wrapup_milliseconds); + WT_STAT_SET(session, stats, rec_maximum_image_build_milliseconds, + conn->rec_maximum_image_build_milliseconds); + WT_STAT_SET(session, stats, rec_maximum_milliseconds, conn->rec_maximum_milliseconds); } /* diff --git a/src/third_party/wiredtiger/src/evict/evict_page.c b/src/third_party/wiredtiger/src/evict/evict_page.c index 729821e44e1..6d54acac4c2 100644 --- a/src/third_party/wiredtiger/src/evict/evict_page.c +++ b/src/third_party/wiredtiger/src/evict/evict_page.c @@ -94,6 +94,89 @@ __wt_page_release_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t flags) return (ret); } +#define WT_EVICT_STATS_CLEAN 0x01 +#define WT_EVICT_STATS_FORCE_HS 0x02 +#define WT_EVICT_STATS_SUCCESS 0x04 +#define WT_EVICT_STATS_URGENT 0x08 + +/* + * __evict_stats_update -- + * Update the stats of eviction. + * + */ +static void +__evict_stats_update(WT_SESSION_IMPL *session, uint8_t flags) +{ + WT_CONNECTION_IMPL *conn; + uint64_t eviction_time, eviction_time_milliseconds; + + conn = S2C(session); + + if (session->evict_timeline.reentry_hs_eviction) { + session->evict_timeline.reentry_hs_evict_finish = __wt_clock(session); + eviction_time = WT_CLOCKDIFF_US(session->evict_timeline.reentry_hs_evict_finish, + session->evict_timeline.reentry_hs_evict_start); + } else { + session->evict_timeline.evict_finish = __wt_clock(session); + eviction_time = WT_CLOCKDIFF_US( + session->evict_timeline.evict_finish, session->evict_timeline.evict_start); + } + if (LF_ISSET(WT_EVICT_STATS_SUCCESS)) { + if (LF_ISSET(WT_EVICT_STATS_URGENT)) { + if (LF_ISSET(WT_EVICT_STATS_FORCE_HS)) + WT_STAT_CONN_INCR(session, cache_eviction_force_hs_success); + if (LF_ISSET(WT_EVICT_STATS_CLEAN)) { + WT_STAT_CONN_INCR(session, cache_eviction_force_clean); + WT_STAT_CONN_INCRV(session, cache_eviction_force_clean_time, eviction_time); + } else { + WT_STAT_CONN_INCR(session, cache_eviction_force_dirty); + WT_STAT_CONN_INCRV(session, cache_eviction_force_dirty_time, eviction_time); + } + } + + if (LF_ISSET(WT_EVICT_STATS_CLEAN)) + WT_STAT_CONN_DATA_INCR(session, cache_eviction_clean); + else + WT_STAT_CONN_DATA_INCR(session, cache_eviction_dirty); + + /* Count page evictions in parallel with checkpoint. */ + if (conn->txn_global.checkpoint_running) + WT_STAT_CONN_INCR(session, cache_eviction_pages_in_parallel_with_checkpoint); + } else { + if (LF_ISSET(WT_EVICT_CALL_URGENT)) { + if (LF_ISSET(WT_EVICT_STATS_FORCE_HS)) + WT_STAT_CONN_INCR(session, cache_eviction_force_hs_fail); + WT_STAT_CONN_INCR(session, cache_eviction_force_fail); + WT_STAT_CONN_INCRV(session, cache_eviction_force_fail_time, eviction_time); + } + + WT_STAT_CONN_DATA_INCR(session, cache_eviction_fail); + } + if (!session->evict_timeline.reentry_hs_eviction) { + eviction_time_milliseconds = eviction_time / WT_THOUSAND; + if (eviction_time_milliseconds > conn->cache->evict_max_ms) + conn->cache->evict_max_ms = eviction_time_milliseconds; + if (eviction_time_milliseconds > WT_MINUTE * WT_THOUSAND) + __wt_verbose_warning(session, WT_VERB_EVICT, + "Eviction took more than 1 minute (%" PRIu64 "). Building disk image took %" PRIu64 + "us. History store wrapup took %" PRIu64 "us.", + eviction_time, + WT_CLOCKDIFF_US(session->reconcile_timeline.image_build_finish, + session->reconcile_timeline.image_build_start), + WT_CLOCKDIFF_US(session->reconcile_timeline.hs_wrapup_finish, + session->reconcile_timeline.hs_wrapup_start)); + } else { + /* + * We are in the reentrant history store eviction inside a data store reconciliation. Add to + * the total time taken to do the reentrant history store eviction. + */ + session->reconcile_timeline.total_reentry_hs_eviction_time += + WT_CLOCKDIFF_MS(session->evict_timeline.reentry_hs_evict_finish, + session->evict_timeline.reentry_hs_evict_start); + session->evict_timeline.reentry_hs_eviction = false; + } +} + /* * __wt_evict -- * Evict a page. @@ -104,14 +187,14 @@ __wt_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint8_t previous_state, uint32 WT_CONNECTION_IMPL *conn; WT_DECL_RET; WT_PAGE *page; - uint64_t eviction_time, eviction_time_seconds; - bool clean_page, closing, force_evict_hs, inmem_split, tree_dead; + uint8_t stats_flags; + bool clean_page, closing, inmem_split, tree_dead; conn = S2C(session); page = ref->page; closing = LF_ISSET(WT_EVICT_CALL_CLOSING); - force_evict_hs = false; - eviction_time = eviction_time_seconds = 0; + stats_flags = 0; + clean_page = false; __wt_verbose( session, WT_VERB_EVICT, "page %p (%s)", (void *)page, __wt_page_type_string(page->type)); @@ -120,6 +203,16 @@ __wt_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint8_t previous_state, uint32 if (tree_dead) LF_SET(WT_EVICT_CALL_NO_SPLIT); + /* As re-entry into eviction is possible, only clear the statistics on the first entry. */ + if (__wt_session_gen((session), (WT_GEN_EVICT)) == 0) { + WT_CLEAR(session->reconcile_timeline); + WT_CLEAR(session->evict_timeline); + session->evict_timeline.evict_start = __wt_clock(session); + } else { + session->evict_timeline.reentry_hs_eviction = true; + session->evict_timeline.reentry_hs_evict_start = __wt_clock(session); + } + /* * Enter the eviction and split generation. If we re-enter eviction, leave the previous * generation (eviction or split) generation (which must be as low as the current generation), @@ -128,21 +221,19 @@ __wt_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint8_t previous_state, uint32 WT_ENTER_GENERATION(session, WT_GEN_EVICT); WT_ENTER_GENERATION(session, WT_GEN_SPLIT); - WT_CLEAR(session->reconcile_timeline); - WT_CLEAR(session->evict_timeline); - session->evict_timeline.evict_start = __wt_clock(session); /* * Immediately increment the forcible eviction counter, we might do an in-memory split and not * an eviction, which skips the other statistics. */ if (LF_ISSET(WT_EVICT_CALL_URGENT)) { + FLD_SET(stats_flags, WT_EVICT_STATS_URGENT); WT_STAT_CONN_INCR(session, cache_eviction_force); /* * Track history store pages being force evicted while holding a history store cursor open. */ if (session->hs_cursor_counter > 0 && WT_IS_HS(session->dhandle)) { - force_evict_hs = true; + FLD_SET(stats_flags, WT_EVICT_STATS_FORCE_HS); WT_STAT_CONN_INCR(session, cache_eviction_force_hs); } } @@ -210,7 +301,10 @@ __wt_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint8_t previous_state, uint32 conn->cache->evict_max_page_size = page->memory_footprint; /* Figure out whether reconciliation was done on the page */ - clean_page = __wt_page_evict_clean(page); + if (__wt_page_evict_clean(page)) { + clean_page = true; + FLD_SET(stats_flags, WT_EVICT_STATS_CLEAN); + } /* Update the reference and discard the page. */ if (__wt_ref_is_root(ref)) @@ -227,59 +321,18 @@ __wt_evict(WT_SESSION_IMPL *session, WT_REF *ref, uint8_t previous_state, uint32 * We have loaded the new disk image and updated the tree structure. We can no longer fail after * this point. */ - session->evict_timeline.evict_finish = __wt_clock(session); - eviction_time = - WT_CLOCKDIFF_US(session->evict_timeline.evict_finish, session->evict_timeline.evict_start); - if (LF_ISSET(WT_EVICT_CALL_URGENT)) { - if (force_evict_hs) - WT_STAT_CONN_INCR(session, cache_eviction_force_hs_success); - if (clean_page) { - WT_STAT_CONN_INCR(session, cache_eviction_force_clean); - WT_STAT_CONN_INCRV(session, cache_eviction_force_clean_time, eviction_time); - } else { - WT_STAT_CONN_INCR(session, cache_eviction_force_dirty); - WT_STAT_CONN_INCRV(session, cache_eviction_force_dirty_time, eviction_time); - } - } - if (clean_page) - WT_STAT_CONN_DATA_INCR(session, cache_eviction_clean); - else - WT_STAT_CONN_DATA_INCR(session, cache_eviction_dirty); - - /* Count page evictions in parallel with checkpoint. */ - if (conn->txn_global.checkpoint_running) - WT_STAT_CONN_INCR(session, cache_eviction_pages_in_parallel_with_checkpoint); if (0) { err: if (!closing) __evict_exclusive_clear(session, ref, previous_state); - session->evict_timeline.evict_finish = __wt_clock(session); - eviction_time = WT_CLOCKDIFF_US( - session->evict_timeline.evict_finish, session->evict_timeline.evict_start); - if (LF_ISSET(WT_EVICT_CALL_URGENT)) { - if (force_evict_hs) - WT_STAT_CONN_INCR(session, cache_eviction_force_hs_fail); - WT_STAT_CONN_INCR(session, cache_eviction_force_fail); - WT_STAT_CONN_INCRV(session, cache_eviction_force_fail_time, eviction_time); - } - - WT_STAT_CONN_DATA_INCR(session, cache_eviction_fail); } done: - eviction_time_seconds = eviction_time / WT_MILLION; - if (eviction_time_seconds > conn->cache->evict_max_seconds) - conn->cache->evict_max_seconds = eviction_time_seconds; - if (eviction_time_seconds > 60) - __wt_verbose_warning(session, WT_VERB_EVICT, - "Eviction took more than 1 minute (%" PRIu64 "). Building disk image took %" PRIu64 - "us. History store wrapup took %" PRIu64 "us.", - eviction_time, - WT_CLOCKDIFF_US(session->reconcile_timeline.image_build_finish, - session->reconcile_timeline.image_build_start), - WT_CLOCKDIFF_US(session->reconcile_timeline.hs_wrapup_finish, - session->reconcile_timeline.hs_wrapup_start)); + if (ret == 0) + FLD_SET(stats_flags, WT_EVICT_STATS_SUCCESS); + __evict_stats_update(session, stats_flags); + /* Leave any local eviction generation. */ WT_LEAVE_GENERATION(session, WT_GEN_SPLIT); WT_LEAVE_GENERATION(session, WT_GEN_EVICT); diff --git a/src/third_party/wiredtiger/src/include/cache.h b/src/third_party/wiredtiger/src/include/cache.h index 03fda6f9d71..c1840b99001 100644 --- a/src/third_party/wiredtiger/src/include/cache.h +++ b/src/third_party/wiredtiger/src/include/cache.h @@ -97,9 +97,10 @@ struct __wt_cache { uint64_t app_waits; /* User threads waited for cache */ uint64_t app_evicts; /* Pages evicted by user threads */ - uint64_t evict_max_page_size; /* Largest page seen at eviction */ - uint64_t evict_max_seconds; /* Longest seconds spent at a single eviction */ - struct timespec stuck_time; /* Stuck time */ + uint64_t evict_max_page_size; /* Largest page seen at eviction */ + uint64_t evict_max_ms; /* Longest milliseconds spent at a single eviction */ + uint64_t reentry_hs_eviction_ms; /* Total milliseconds spent inside a nested eviction */ + struct timespec stuck_time; /* Stuck time */ /* * Read information. diff --git a/src/third_party/wiredtiger/src/include/connection.h b/src/third_party/wiredtiger/src/include/connection.h index 192163d92fe..29db0d4e7ed 100644 --- a/src/third_party/wiredtiger/src/include/connection.h +++ b/src/third_party/wiredtiger/src/include/connection.h @@ -416,10 +416,11 @@ struct __wt_connection_impl { uint32_t stat_flags; /* Options declared in flags.py */ /* Connection statistics */ + uint64_t rec_maximum_hs_wrapup_milliseconds; /* Maximum milliseconds moving updates to history + store took. */ uint64_t - rec_maximum_hs_wrapup_seconds; /* Maximum seconds moving updates to history store took. */ - uint64_t rec_maximum_image_build_seconds; /* Maximum seconds building disk image took. */ - uint64_t rec_maximum_seconds; /* Maximum seconds reconciliation took. */ + rec_maximum_image_build_milliseconds; /* Maximum milliseconds building disk image took. */ + uint64_t rec_maximum_milliseconds; /* Maximum milliseconds reconciliation took. */ WT_CONNECTION_STATS *stats[WT_COUNTER_SLOTS]; WT_CONNECTION_STATS *stat_array; diff --git a/src/third_party/wiredtiger/src/include/session.h b/src/third_party/wiredtiger/src/include/session.h index 1f8c88cabe5..43a336eb214 100644 --- a/src/third_party/wiredtiger/src/include/session.h +++ b/src/third_party/wiredtiger/src/include/session.h @@ -151,6 +151,7 @@ struct __wt_session_impl { uint64_t hs_wrapup_start; uint64_t hs_wrapup_finish; uint64_t reconcile_finish; + uint64_t total_reentry_hs_eviction_time; } reconcile_timeline; /* @@ -159,7 +160,10 @@ struct __wt_session_impl { */ struct __wt_evict_timeline { uint64_t evict_start; + uint64_t reentry_hs_evict_start; + uint64_t reentry_hs_evict_finish; uint64_t evict_finish; + bool reentry_hs_eviction; } evict_timeline; WT_ITEM err; /* Error buffer */ diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h index 16ba8423160..16892e8981e 100644 --- a/src/third_party/wiredtiger/src/include/stat.h +++ b/src/third_party/wiredtiger/src/include/stat.h @@ -491,8 +491,8 @@ struct __wt_connection_stats { int64_t cache_eviction_split_internal; int64_t cache_eviction_split_leaf; int64_t cache_bytes_max; + int64_t cache_eviction_maximum_milliseconds; int64_t cache_eviction_maximum_page_size; - int64_t cache_eviction_maximum_seconds; int64_t cache_eviction_dirty; int64_t cache_eviction_app_dirty; int64_t cache_timed_out_ops; @@ -528,6 +528,7 @@ struct __wt_connection_stats { int64_t cache_reverse_splits_skipped_vlcs; int64_t cache_hs_insert_full_update; int64_t cache_hs_insert_reverse_modify; + int64_t cache_reentry_hs_eviction_milliseconds; int64_t cache_bytes_internal; int64_t cache_bytes_leaf; int64_t cache_bytes_dirty; @@ -766,9 +767,9 @@ struct __wt_connection_stats { int64_t rec_time_window_bytes_txn; int64_t rec_page_delete_fast; int64_t rec_overflow_key_leaf; - int64_t rec_maximum_seconds; - int64_t rec_maximum_image_build_seconds; - int64_t rec_maximum_hs_wrapup_seconds; + int64_t rec_maximum_milliseconds; + int64_t rec_maximum_image_build_milliseconds; + int64_t rec_maximum_hs_wrapup_milliseconds; int64_t rec_pages; int64_t rec_pages_eviction; int64_t rec_pages_with_prepare; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index 09dc6909694..f79babe752b 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -5726,10 +5726,10 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1150 /*! cache: maximum bytes configured */ #define WT_STAT_CONN_CACHE_BYTES_MAX 1151 +/*! cache: maximum milliseconds spent at a single eviction */ +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_MILLISECONDS 1152 /*! cache: maximum page size seen at eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1152 -/*! cache: maximum seconds spent at a single eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_SECONDS 1153 +#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1153 /*! cache: modified pages evicted */ #define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1154 /*! cache: modified pages evicted by application threads */ @@ -5821,975 +5821,980 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE 1187 /*! cache: the number of times reverse modify inserted to history store */ #define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY 1188 +/*! + * cache: total milliseconds spent inside reentrant history store + * evictions in a reconciliation + */ +#define WT_STAT_CONN_CACHE_REENTRY_HS_EVICTION_MILLISECONDS 1189 /*! cache: tracked bytes belonging to internal pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1189 +#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1190 /*! cache: tracked bytes belonging to leaf pages in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_LEAF 1190 +#define WT_STAT_CONN_CACHE_BYTES_LEAF 1191 /*! cache: tracked dirty bytes in the cache */ -#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1191 +#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1192 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1192 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1193 /*! cache: uncommitted truncate blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 1193 +#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_UNCOMMITTED_TRUNCATE 1194 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1194 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1195 /*! capacity: background fsync file handles considered */ -#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1195 +#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL 1196 /*! capacity: background fsync file handles synced */ -#define WT_STAT_CONN_FSYNC_ALL_FH 1196 +#define WT_STAT_CONN_FSYNC_ALL_FH 1197 /*! capacity: background fsync time (msecs) */ -#define WT_STAT_CONN_FSYNC_ALL_TIME 1197 +#define WT_STAT_CONN_FSYNC_ALL_TIME 1198 /*! capacity: bytes read */ -#define WT_STAT_CONN_CAPACITY_BYTES_READ 1198 +#define WT_STAT_CONN_CAPACITY_BYTES_READ 1199 /*! capacity: bytes written for checkpoint */ -#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1199 +#define WT_STAT_CONN_CAPACITY_BYTES_CKPT 1200 /*! capacity: bytes written for eviction */ -#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1200 +#define WT_STAT_CONN_CAPACITY_BYTES_EVICT 1201 /*! capacity: bytes written for log */ -#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1201 +#define WT_STAT_CONN_CAPACITY_BYTES_LOG 1202 /*! capacity: bytes written total */ -#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1202 +#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN 1203 /*! capacity: threshold to call fsync */ -#define WT_STAT_CONN_CAPACITY_THRESHOLD 1203 +#define WT_STAT_CONN_CAPACITY_THRESHOLD 1204 /*! capacity: time waiting due to total capacity (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1204 +#define WT_STAT_CONN_CAPACITY_TIME_TOTAL 1205 /*! capacity: time waiting during checkpoint (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1205 +#define WT_STAT_CONN_CAPACITY_TIME_CKPT 1206 /*! capacity: time waiting during eviction (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1206 +#define WT_STAT_CONN_CAPACITY_TIME_EVICT 1207 /*! capacity: time waiting during logging (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_LOG 1207 +#define WT_STAT_CONN_CAPACITY_TIME_LOG 1208 /*! capacity: time waiting during read (usecs) */ -#define WT_STAT_CONN_CAPACITY_TIME_READ 1208 +#define WT_STAT_CONN_CAPACITY_TIME_READ 1209 /*! checkpoint-cleanup: pages added for eviction */ -#define WT_STAT_CONN_CC_PAGES_EVICT 1209 +#define WT_STAT_CONN_CC_PAGES_EVICT 1210 /*! checkpoint-cleanup: pages removed */ -#define WT_STAT_CONN_CC_PAGES_REMOVED 1210 +#define WT_STAT_CONN_CC_PAGES_REMOVED 1211 /*! checkpoint-cleanup: pages skipped during tree walk */ -#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1211 +#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED 1212 /*! checkpoint-cleanup: pages visited */ -#define WT_STAT_CONN_CC_PAGES_VISITED 1212 +#define WT_STAT_CONN_CC_PAGES_VISITED 1213 /*! chunk-cache: aggregate number of spanned chunks on read */ -#define WT_STAT_CONN_CHUNK_CACHE_SPANS_CHUNKS_READ 1213 +#define WT_STAT_CONN_CHUNK_CACHE_SPANS_CHUNKS_READ 1214 /*! chunk-cache: aggregate number of spanned chunks on remove */ -#define WT_STAT_CONN_CHUNK_CACHE_SPANS_CHUNKS_REMOVE 1214 +#define WT_STAT_CONN_CHUNK_CACHE_SPANS_CHUNKS_REMOVE 1215 /*! chunk-cache: chunks evicted */ -#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_EVICTED 1215 +#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_EVICTED 1216 /*! chunk-cache: chunks removed on becoming invalid */ -#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_INVALIDATED 1216 +#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_INVALIDATED 1217 /*! chunk-cache: could not allocate due to exceeding capacity */ -#define WT_STAT_CONN_CHUNK_CACHE_EXCEEDED_CAPACITY 1217 +#define WT_STAT_CONN_CHUNK_CACHE_EXCEEDED_CAPACITY 1218 /*! chunk-cache: lookups */ -#define WT_STAT_CONN_CHUNK_CACHE_LOOKUPS 1218 +#define WT_STAT_CONN_CHUNK_CACHE_LOOKUPS 1219 /*! chunk-cache: number of misses */ -#define WT_STAT_CONN_CHUNK_CACHE_MISSES 1219 +#define WT_STAT_CONN_CHUNK_CACHE_MISSES 1220 /*! chunk-cache: number of times a read from storage failed */ -#define WT_STAT_CONN_CHUNK_CACHE_IO_FAILED 1220 +#define WT_STAT_CONN_CHUNK_CACHE_IO_FAILED 1221 /*! chunk-cache: retried accessing a chunk while I/O was in progress */ -#define WT_STAT_CONN_CHUNK_CACHE_RETRIES 1221 +#define WT_STAT_CONN_CHUNK_CACHE_RETRIES 1222 /*! chunk-cache: timed out due to too many retries */ -#define WT_STAT_CONN_CHUNK_CACHE_TOOMANY_RETRIES 1222 +#define WT_STAT_CONN_CHUNK_CACHE_TOOMANY_RETRIES 1223 /*! chunk-cache: total bytes used by the cache */ -#define WT_STAT_CONN_CHUNK_CACHE_BYTES_INUSE 1223 +#define WT_STAT_CONN_CHUNK_CACHE_BYTES_INUSE 1224 /*! chunk-cache: total chunks held by the chunk cache */ -#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_INUSE 1224 +#define WT_STAT_CONN_CHUNK_CACHE_CHUNKS_INUSE 1225 /*! connection: auto adjusting condition resets */ -#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1225 +#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1226 /*! connection: auto adjusting condition wait calls */ -#define WT_STAT_CONN_COND_AUTO_WAIT 1226 +#define WT_STAT_CONN_COND_AUTO_WAIT 1227 /*! * connection: auto adjusting condition wait raced to update timeout and * skipped updating */ -#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1227 +#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED 1228 /*! connection: detected system time went backwards */ -#define WT_STAT_CONN_TIME_TRAVEL 1228 +#define WT_STAT_CONN_TIME_TRAVEL 1229 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1229 +#define WT_STAT_CONN_FILE_OPEN 1230 /*! connection: hash bucket array size for data handles */ -#define WT_STAT_CONN_BUCKETS_DH 1230 +#define WT_STAT_CONN_BUCKETS_DH 1231 /*! connection: hash bucket array size general */ -#define WT_STAT_CONN_BUCKETS 1231 +#define WT_STAT_CONN_BUCKETS 1232 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1232 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1233 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1233 +#define WT_STAT_CONN_MEMORY_FREE 1234 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1234 +#define WT_STAT_CONN_MEMORY_GROW 1235 /*! connection: number of sessions without a sweep for 5+ minutes */ -#define WT_STAT_CONN_NO_SESSION_SWEEP_5MIN 1235 +#define WT_STAT_CONN_NO_SESSION_SWEEP_5MIN 1236 /*! connection: number of sessions without a sweep for 60+ minutes */ -#define WT_STAT_CONN_NO_SESSION_SWEEP_60MIN 1236 +#define WT_STAT_CONN_NO_SESSION_SWEEP_60MIN 1237 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1237 +#define WT_STAT_CONN_COND_WAIT 1238 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1238 +#define WT_STAT_CONN_RWLOCK_READ 1239 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1239 +#define WT_STAT_CONN_RWLOCK_WRITE 1240 /*! connection: total fsync I/Os */ -#define WT_STAT_CONN_FSYNC_IO 1240 +#define WT_STAT_CONN_FSYNC_IO 1241 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1241 +#define WT_STAT_CONN_READ_IO 1242 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1242 +#define WT_STAT_CONN_WRITE_IO 1243 /*! cursor: Total number of entries skipped by cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1243 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL 1244 /*! cursor: Total number of entries skipped by cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1244 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL 1245 /*! * cursor: Total number of entries skipped to position the history store * cursor */ -#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1245 +#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION 1246 /*! * cursor: Total number of times a search near has exited due to prefix * config */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1246 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS 1247 /*! * cursor: Total number of times cursor fails to temporarily release * pinned page to encourage eviction of hot or large page */ -#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED 1247 +#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED 1248 /*! * cursor: Total number of times cursor temporarily releases pinned page * to encourage eviction of hot or large page */ -#define WT_STAT_CONN_CURSOR_REPOSITION 1248 +#define WT_STAT_CONN_CURSOR_REPOSITION 1249 /*! cursor: cached cursor count */ -#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1249 +#define WT_STAT_CONN_CURSOR_CACHED_COUNT 1250 /*! cursor: cursor bound calls that return an error */ -#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1250 +#define WT_STAT_CONN_CURSOR_BOUND_ERROR 1251 /*! cursor: cursor bounds cleared from reset */ -#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1251 +#define WT_STAT_CONN_CURSOR_BOUNDS_RESET 1252 /*! cursor: cursor bounds comparisons performed */ -#define WT_STAT_CONN_CURSOR_BOUNDS_COMPARISONS 1252 +#define WT_STAT_CONN_CURSOR_BOUNDS_COMPARISONS 1253 /*! cursor: cursor bounds next called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1253 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_UNPOSITIONED 1254 /*! cursor: cursor bounds next early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1254 +#define WT_STAT_CONN_CURSOR_BOUNDS_NEXT_EARLY_EXIT 1255 /*! cursor: cursor bounds prev called on an unpositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1255 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_UNPOSITIONED 1256 /*! cursor: cursor bounds prev early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1256 +#define WT_STAT_CONN_CURSOR_BOUNDS_PREV_EARLY_EXIT 1257 /*! cursor: cursor bounds search early exit */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1257 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_EARLY_EXIT 1258 /*! cursor: cursor bounds search near call repositioned cursor */ -#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1258 +#define WT_STAT_CONN_CURSOR_BOUNDS_SEARCH_NEAR_REPOSITIONED_CURSOR 1259 /*! cursor: cursor bulk loaded cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT_BULK 1259 +#define WT_STAT_CONN_CURSOR_INSERT_BULK 1260 /*! cursor: cursor cache calls that return an error */ -#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1260 +#define WT_STAT_CONN_CURSOR_CACHE_ERROR 1261 /*! cursor: cursor close calls that result in cache */ -#define WT_STAT_CONN_CURSOR_CACHE 1261 +#define WT_STAT_CONN_CURSOR_CACHE 1262 /*! cursor: cursor close calls that return an error */ -#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1262 +#define WT_STAT_CONN_CURSOR_CLOSE_ERROR 1263 /*! cursor: cursor compare calls that return an error */ -#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1263 +#define WT_STAT_CONN_CURSOR_COMPARE_ERROR 1264 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1264 +#define WT_STAT_CONN_CURSOR_CREATE 1265 /*! cursor: cursor equals calls that return an error */ -#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1265 +#define WT_STAT_CONN_CURSOR_EQUALS_ERROR 1266 /*! cursor: cursor get key calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1266 +#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR 1267 /*! cursor: cursor get value calls that return an error */ -#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1267 +#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR 1268 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1268 +#define WT_STAT_CONN_CURSOR_INSERT 1269 /*! cursor: cursor insert calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1269 +#define WT_STAT_CONN_CURSOR_INSERT_ERROR 1270 /*! cursor: cursor insert check calls that return an error */ -#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1270 +#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR 1271 /*! cursor: cursor insert key and value bytes */ -#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1271 +#define WT_STAT_CONN_CURSOR_INSERT_BYTES 1272 /*! cursor: cursor largest key calls that return an error */ -#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1272 +#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR 1273 /*! cursor: cursor modify calls */ -#define WT_STAT_CONN_CURSOR_MODIFY 1273 +#define WT_STAT_CONN_CURSOR_MODIFY 1274 /*! cursor: cursor modify calls that return an error */ -#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1274 +#define WT_STAT_CONN_CURSOR_MODIFY_ERROR 1275 /*! cursor: cursor modify key and value bytes affected */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1275 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES 1276 /*! cursor: cursor modify value bytes modified */ -#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1276 +#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH 1277 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1277 +#define WT_STAT_CONN_CURSOR_NEXT 1278 /*! cursor: cursor next calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1278 +#define WT_STAT_CONN_CURSOR_NEXT_ERROR 1279 /*! * cursor: cursor next calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1279 +#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE 1280 /*! * cursor: cursor next calls that skip greater than 1 and fewer than 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1280 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100 1281 /*! * cursor: cursor next calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1281 +#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100 1282 /*! cursor: cursor next random calls that return an error */ -#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1282 +#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR 1283 /*! cursor: cursor operation restarted */ -#define WT_STAT_CONN_CURSOR_RESTART 1283 +#define WT_STAT_CONN_CURSOR_RESTART 1284 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1284 +#define WT_STAT_CONN_CURSOR_PREV 1285 /*! cursor: cursor prev calls that return an error */ -#define WT_STAT_CONN_CURSOR_PREV_ERROR 1285 +#define WT_STAT_CONN_CURSOR_PREV_ERROR 1286 /*! * cursor: cursor prev calls that skip due to a globally visible history * store tombstone */ -#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1286 +#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE 1287 /*! * cursor: cursor prev calls that skip greater than or equal to 100 * entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1287 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100 1288 /*! cursor: cursor prev calls that skip less than 100 entries */ -#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1288 +#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100 1289 /*! cursor: cursor reconfigure calls that return an error */ -#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1289 +#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR 1290 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1290 +#define WT_STAT_CONN_CURSOR_REMOVE 1291 /*! cursor: cursor remove calls that return an error */ -#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1291 +#define WT_STAT_CONN_CURSOR_REMOVE_ERROR 1292 /*! cursor: cursor remove key bytes removed */ -#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1292 +#define WT_STAT_CONN_CURSOR_REMOVE_BYTES 1293 /*! cursor: cursor reopen calls that return an error */ -#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1293 +#define WT_STAT_CONN_CURSOR_REOPEN_ERROR 1294 /*! cursor: cursor reserve calls */ -#define WT_STAT_CONN_CURSOR_RESERVE 1294 +#define WT_STAT_CONN_CURSOR_RESERVE 1295 /*! cursor: cursor reserve calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1295 +#define WT_STAT_CONN_CURSOR_RESERVE_ERROR 1296 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1296 +#define WT_STAT_CONN_CURSOR_RESET 1297 /*! cursor: cursor reset calls that return an error */ -#define WT_STAT_CONN_CURSOR_RESET_ERROR 1297 +#define WT_STAT_CONN_CURSOR_RESET_ERROR 1298 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1298 +#define WT_STAT_CONN_CURSOR_SEARCH 1299 /*! cursor: cursor search calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1299 +#define WT_STAT_CONN_CURSOR_SEARCH_ERROR 1300 /*! cursor: cursor search history store calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_HS 1300 +#define WT_STAT_CONN_CURSOR_SEARCH_HS 1301 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1301 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1302 /*! cursor: cursor search near calls that return an error */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1302 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR 1303 /*! cursor: cursor sweep buckets */ -#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1303 +#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS 1304 /*! cursor: cursor sweep cursors closed */ -#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1304 +#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED 1305 /*! cursor: cursor sweep cursors examined */ -#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1305 +#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED 1306 /*! cursor: cursor sweeps */ -#define WT_STAT_CONN_CURSOR_SWEEP 1306 +#define WT_STAT_CONN_CURSOR_SWEEP 1307 /*! cursor: cursor truncate calls */ -#define WT_STAT_CONN_CURSOR_TRUNCATE 1307 +#define WT_STAT_CONN_CURSOR_TRUNCATE 1308 /*! cursor: cursor truncates performed on individual keys */ -#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1308 +#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED 1309 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1309 +#define WT_STAT_CONN_CURSOR_UPDATE 1310 /*! cursor: cursor update calls that return an error */ -#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1310 +#define WT_STAT_CONN_CURSOR_UPDATE_ERROR 1311 /*! cursor: cursor update key and value bytes */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1311 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES 1312 /*! cursor: cursor update value size change */ -#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1312 +#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED 1313 /*! cursor: cursors reused from cache */ -#define WT_STAT_CONN_CURSOR_REOPEN 1313 +#define WT_STAT_CONN_CURSOR_REOPEN 1314 /*! cursor: open cursor count */ -#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1314 +#define WT_STAT_CONN_CURSOR_OPEN_COUNT 1315 /*! data-handle: connection data handle size */ -#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1315 +#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE 1316 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1316 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1317 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1317 +#define WT_STAT_CONN_DH_SWEEP_REF 1318 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1318 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1319 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1319 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1320 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1320 +#define WT_STAT_CONN_DH_SWEEP_TOD 1321 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1321 +#define WT_STAT_CONN_DH_SWEEPS 1322 /*! * data-handle: connection sweeps skipped due to checkpoint gathering * handles */ -#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1322 +#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT 1323 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1323 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1324 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1324 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1325 /*! lock: checkpoint lock acquisitions */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1325 +#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1326 /*! lock: checkpoint lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1326 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1327 /*! lock: checkpoint lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1327 +#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1328 /*! lock: dhandle lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1328 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION 1329 /*! lock: dhandle lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1329 +#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL 1330 /*! lock: dhandle read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1330 +#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT 1331 /*! lock: dhandle write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1331 +#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT 1332 /*! * lock: durable timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1332 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION 1333 /*! * lock: durable timestamp queue lock internal thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1333 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL 1334 /*! lock: durable timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1334 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT 1335 /*! lock: durable timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1335 +#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT 1336 /*! lock: metadata lock acquisitions */ -#define WT_STAT_CONN_LOCK_METADATA_COUNT 1336 +#define WT_STAT_CONN_LOCK_METADATA_COUNT 1337 /*! lock: metadata lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1337 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1338 /*! lock: metadata lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1338 +#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1339 /*! * lock: read timestamp queue lock application thread time waiting * (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1339 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION 1340 /*! lock: read timestamp queue lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1340 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL 1341 /*! lock: read timestamp queue read lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1341 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT 1342 /*! lock: read timestamp queue write lock acquisitions */ -#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1342 +#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT 1343 /*! lock: schema lock acquisitions */ -#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1343 +#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1344 /*! lock: schema lock application thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1344 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1345 /*! lock: schema lock internal thread wait time (usecs) */ -#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1345 +#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1346 /*! * lock: table lock application thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1346 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1347 /*! * lock: table lock internal thread time waiting for the table lock * (usecs) */ -#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1347 +#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1348 /*! lock: table read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1348 +#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT 1349 /*! lock: table write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1349 +#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT 1350 /*! lock: txn global lock application thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1350 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION 1351 /*! lock: txn global lock internal thread time waiting (usecs) */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1351 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL 1352 /*! lock: txn global read lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1352 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT 1353 /*! lock: txn global write lock acquisitions */ -#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1353 +#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT 1354 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1354 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1355 /*! log: force log remove time sleeping (usecs) */ -#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1355 +#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP 1356 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1356 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1357 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1357 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1358 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1358 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1359 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1359 +#define WT_STAT_CONN_LOG_FLUSH 1360 /*! log: log force write operations */ -#define WT_STAT_CONN_LOG_FORCE_WRITE 1360 +#define WT_STAT_CONN_LOG_FORCE_WRITE 1361 /*! log: log force write operations skipped */ -#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1361 +#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1362 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1362 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1363 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1363 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1364 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1364 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1365 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1365 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1366 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1366 +#define WT_STAT_CONN_LOG_SCANS 1367 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1367 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1368 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1368 +#define WT_STAT_CONN_LOG_WRITE_LSN 1369 /*! log: log server thread write LSN walk skipped */ -#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1369 +#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1370 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1370 +#define WT_STAT_CONN_LOG_SYNC 1371 /*! log: log sync time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DURATION 1371 +#define WT_STAT_CONN_LOG_SYNC_DURATION 1372 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1372 +#define WT_STAT_CONN_LOG_SYNC_DIR 1373 /*! log: log sync_dir time duration (usecs) */ -#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1373 +#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1374 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1374 +#define WT_STAT_CONN_LOG_WRITES 1375 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1375 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1376 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1376 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1377 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1377 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1378 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1378 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1379 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1379 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1380 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1380 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1381 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1381 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1382 /*! log: slot close lost race */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1382 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1383 /*! log: slot close unbuffered waits */ -#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1383 +#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1384 /*! log: slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1384 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1385 /*! log: slot join atomic update races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1385 +#define WT_STAT_CONN_LOG_SLOT_RACES 1386 /*! log: slot join calls atomic updates raced */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1386 +#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1387 /*! log: slot join calls did not yield */ -#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1387 +#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1388 /*! log: slot join calls found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1388 +#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1389 /*! log: slot join calls slept */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1389 +#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1390 /*! log: slot join calls yielded */ -#define WT_STAT_CONN_LOG_SLOT_YIELD 1390 +#define WT_STAT_CONN_LOG_SLOT_YIELD 1391 /*! log: slot join found active slot closed */ -#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1391 +#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1392 /*! log: slot joins yield time (usecs) */ -#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1392 +#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1393 /*! log: slot transitions unable to find free slot */ -#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1393 +#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1394 /*! log: slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1394 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1395 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1395 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1396 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1396 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1397 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1397 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1398 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1398 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1399 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1399 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1400 /*! perf: file system read latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1400 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50 1401 /*! perf: file system read latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1401 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100 1402 /*! perf: file system read latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1402 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250 1403 /*! perf: file system read latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1403 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500 1404 /*! perf: file system read latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1404 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000 1405 /*! perf: file system read latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1405 +#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000 1406 /*! perf: file system write latency histogram (bucket 1) - 10-49ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1406 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50 1407 /*! perf: file system write latency histogram (bucket 2) - 50-99ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1407 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100 1408 /*! perf: file system write latency histogram (bucket 3) - 100-249ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1408 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250 1409 /*! perf: file system write latency histogram (bucket 4) - 250-499ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1409 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500 1410 /*! perf: file system write latency histogram (bucket 5) - 500-999ms */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1410 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000 1411 /*! perf: file system write latency histogram (bucket 6) - 1000ms+ */ -#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1411 +#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000 1412 /*! perf: operation read latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1412 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250 1413 /*! perf: operation read latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1413 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500 1414 /*! perf: operation read latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1414 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000 1415 /*! perf: operation read latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1415 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000 1416 /*! perf: operation read latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1416 +#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000 1417 /*! perf: operation write latency histogram (bucket 1) - 100-249us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1417 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250 1418 /*! perf: operation write latency histogram (bucket 2) - 250-499us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1418 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500 1419 /*! perf: operation write latency histogram (bucket 3) - 500-999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1419 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000 1420 /*! perf: operation write latency histogram (bucket 4) - 1000-9999us */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1420 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000 1421 /*! perf: operation write latency histogram (bucket 5) - 10000us+ */ -#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1421 +#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000 1422 /*! reconciliation: VLCS pages explicitly reconciled as empty */ -#define WT_STAT_CONN_REC_VLCS_EMPTIED_PAGES 1422 +#define WT_STAT_CONN_REC_VLCS_EMPTIED_PAGES 1423 /*! reconciliation: approximate byte size of timestamps in pages written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1423 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS 1424 /*! * reconciliation: approximate byte size of transaction IDs in pages * written */ -#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1424 +#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN 1425 /*! reconciliation: fast-path pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1425 +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1426 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1426 -/*! reconciliation: maximum seconds spent in a reconciliation call */ -#define WT_STAT_CONN_REC_MAXIMUM_SECONDS 1427 +#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF 1427 +/*! reconciliation: maximum milliseconds spent in a reconciliation call */ +#define WT_STAT_CONN_REC_MAXIMUM_MILLISECONDS 1428 /*! - * reconciliation: maximum seconds spent in building a disk image in a - * reconciliation + * reconciliation: maximum milliseconds spent in building a disk image in + * a reconciliation */ -#define WT_STAT_CONN_REC_MAXIMUM_IMAGE_BUILD_SECONDS 1428 +#define WT_STAT_CONN_REC_MAXIMUM_IMAGE_BUILD_MILLISECONDS 1429 /*! - * reconciliation: maximum seconds spent in moving updates to the history - * store in a reconciliation + * reconciliation: maximum milliseconds spent in moving updates to the + * history store in a reconciliation */ -#define WT_STAT_CONN_REC_MAXIMUM_HS_WRAPUP_SECONDS 1429 +#define WT_STAT_CONN_REC_MAXIMUM_HS_WRAPUP_MILLISECONDS 1430 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1430 +#define WT_STAT_CONN_REC_PAGES 1431 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1431 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1432 /*! * reconciliation: page reconciliation calls that resulted in values with * prepared transaction metadata */ -#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1432 +#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE 1433 /*! * reconciliation: page reconciliation calls that resulted in values with * timestamps */ -#define WT_STAT_CONN_REC_PAGES_WITH_TS 1433 +#define WT_STAT_CONN_REC_PAGES_WITH_TS 1434 /*! * reconciliation: page reconciliation calls that resulted in values with * transaction ids */ -#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1434 +#define WT_STAT_CONN_REC_PAGES_WITH_TXN 1435 /*! reconciliation: pages deleted */ -#define WT_STAT_CONN_REC_PAGE_DELETE 1435 +#define WT_STAT_CONN_REC_PAGE_DELETE 1436 /*! * reconciliation: pages written including an aggregated newest start * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1436 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS 1437 /*! * reconciliation: pages written including an aggregated newest stop * durable timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1437 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS 1438 /*! * reconciliation: pages written including an aggregated newest stop * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1438 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS 1439 /*! * reconciliation: pages written including an aggregated newest stop * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1439 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN 1440 /*! * reconciliation: pages written including an aggregated newest * transaction ID */ -#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1440 +#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN 1441 /*! * reconciliation: pages written including an aggregated oldest start * timestamp */ -#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1441 +#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS 1442 /*! reconciliation: pages written including an aggregated prepare */ -#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1442 +#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED 1443 /*! reconciliation: pages written including at least one prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1443 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED 1444 /*! * reconciliation: pages written including at least one start durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1444 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS 1445 /*! reconciliation: pages written including at least one start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1445 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS 1446 /*! * reconciliation: pages written including at least one start transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1446 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN 1447 /*! * reconciliation: pages written including at least one stop durable * timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1447 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS 1448 /*! reconciliation: pages written including at least one stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1448 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS 1449 /*! * reconciliation: pages written including at least one stop transaction * ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1449 +#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN 1450 /*! reconciliation: records written including a prepare state */ -#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1450 +#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED 1451 /*! reconciliation: records written including a start durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1451 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS 1452 /*! reconciliation: records written including a start timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1452 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS 1453 /*! reconciliation: records written including a start transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1453 +#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN 1454 /*! reconciliation: records written including a stop durable timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1454 +#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS 1455 /*! reconciliation: records written including a stop timestamp */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1455 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS 1456 /*! reconciliation: records written including a stop transaction ID */ -#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1456 +#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN 1457 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1457 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1458 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1458 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1459 /*! session: attempts to remove a local object and the object is in use */ -#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1459 +#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE 1460 /*! session: flush_tier failed calls */ -#define WT_STAT_CONN_FLUSH_TIER_FAIL 1460 +#define WT_STAT_CONN_FLUSH_TIER_FAIL 1461 /*! session: flush_tier operation calls */ -#define WT_STAT_CONN_FLUSH_TIER 1461 +#define WT_STAT_CONN_FLUSH_TIER 1462 /*! session: flush_tier tables skipped due to no checkpoint */ -#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1462 +#define WT_STAT_CONN_FLUSH_TIER_SKIPPED 1463 /*! session: flush_tier tables switched */ -#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1463 +#define WT_STAT_CONN_FLUSH_TIER_SWITCHED 1464 /*! session: local objects removed */ -#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1464 +#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED 1465 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1465 +#define WT_STAT_CONN_SESSION_OPEN 1466 /*! session: session query timestamp calls */ -#define WT_STAT_CONN_SESSION_QUERY_TS 1466 +#define WT_STAT_CONN_SESSION_QUERY_TS 1467 /*! session: table alter failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1467 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1468 /*! session: table alter successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1468 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1469 /*! session: table alter triggering checkpoint calls */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1469 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT 1470 /*! session: table alter unchanged and skipped */ -#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1470 +#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1471 /*! session: table compact failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1471 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1472 /*! session: table compact failed calls due to cache pressure */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1472 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE 1473 /*! session: table compact running */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1473 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING 1474 /*! session: table compact skipped as process would not reduce file size */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1474 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED 1475 /*! session: table compact successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1475 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1476 /*! session: table compact timeout */ -#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1476 +#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT 1477 /*! session: table create failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1477 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1478 /*! session: table create successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1478 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1479 /*! session: table create with import failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1479 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL 1480 /*! session: table create with import successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1480 +#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS 1481 /*! session: table drop failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1481 +#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1482 /*! session: table drop successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1482 +#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1483 /*! session: table rename failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1483 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1484 /*! session: table rename successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1484 +#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1485 /*! session: table salvage failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1485 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1486 /*! session: table salvage successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1486 +#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1487 /*! session: table truncate failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1487 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1488 /*! session: table truncate successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1488 +#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1489 /*! session: table verify failed calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1489 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1490 /*! session: table verify successful calls */ -#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1490 +#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1491 /*! session: tiered operations dequeued and processed */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1491 +#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED 1492 /*! session: tiered operations removed without processing */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1492 +#define WT_STAT_CONN_TIERED_WORK_UNITS_REMOVED 1493 /*! session: tiered operations scheduled */ -#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1493 +#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED 1494 /*! session: tiered storage local retention time (secs) */ -#define WT_STAT_CONN_TIERED_RETENTION 1494 +#define WT_STAT_CONN_TIERED_RETENTION 1495 /*! thread-state: active filesystem fsync calls */ -#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1495 +#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1496 /*! thread-state: active filesystem read calls */ -#define WT_STAT_CONN_THREAD_READ_ACTIVE 1496 +#define WT_STAT_CONN_THREAD_READ_ACTIVE 1497 /*! thread-state: active filesystem write calls */ -#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1497 +#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1498 /*! thread-yield: application thread time evicting (usecs) */ -#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1498 +#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1499 /*! thread-yield: application thread time waiting for cache (usecs) */ -#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1499 +#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1500 /*! * thread-yield: connection close blocked waiting for transaction state * stabilization */ -#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1500 +#define WT_STAT_CONN_TXN_RELEASE_BLOCKED 1501 /*! thread-yield: connection close yielded for lsm manager shutdown */ -#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1501 +#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM 1502 /*! thread-yield: data handle lock yielded */ -#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1502 +#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED 1503 /*! * thread-yield: get reference for page index and slot time sleeping * (usecs) */ -#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1503 +#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED 1504 /*! thread-yield: page access yielded due to prepare state change */ -#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1504 +#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE 1505 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1505 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1506 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1506 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1507 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1507 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1508 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1508 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1509 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1509 +#define WT_STAT_CONN_PAGE_SLEEP 1510 /*! * thread-yield: page delete rollback time sleeping for state change * (usecs) */ -#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1510 +#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED 1511 /*! thread-yield: page reconciliation yielded due to child modification */ -#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1511 +#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE 1512 /*! transaction: Number of prepared updates */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1512 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES 1513 /*! transaction: Number of prepared updates committed */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1513 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED 1514 /*! transaction: Number of prepared updates repeated on the same key */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1514 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED 1515 /*! transaction: Number of prepared updates rolled back */ -#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1515 +#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK 1516 /*! transaction: checkpoint has acquired a snapshot for its transaction */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SNAPSHOT_ACQUIRED 1516 +#define WT_STAT_CONN_TXN_CHECKPOINT_SNAPSHOT_ACQUIRED 1517 /*! transaction: number of times overflow removed value is read */ -#define WT_STAT_CONN_TXN_READ_OVERFLOW_REMOVE 1517 +#define WT_STAT_CONN_TXN_READ_OVERFLOW_REMOVE 1518 /*! transaction: oldest pinned transaction ID rolled back for eviction */ -#define WT_STAT_CONN_TXN_ROLLBACK_OLDEST_PINNED 1518 +#define WT_STAT_CONN_TXN_ROLLBACK_OLDEST_PINNED 1519 /*! transaction: prepared transactions */ -#define WT_STAT_CONN_TXN_PREPARE 1519 +#define WT_STAT_CONN_TXN_PREPARE 1520 /*! transaction: prepared transactions committed */ -#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1520 +#define WT_STAT_CONN_TXN_PREPARE_COMMIT 1521 /*! transaction: prepared transactions currently active */ -#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1521 +#define WT_STAT_CONN_TXN_PREPARE_ACTIVE 1522 /*! transaction: prepared transactions rolled back */ -#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1522 +#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK 1523 /*! transaction: query timestamp calls */ -#define WT_STAT_CONN_TXN_QUERY_TS 1523 +#define WT_STAT_CONN_TXN_QUERY_TS 1524 /*! transaction: race to read prepared update retry */ -#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1524 +#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE 1525 /*! transaction: rollback to stable calls */ -#define WT_STAT_CONN_TXN_RTS 1525 +#define WT_STAT_CONN_TXN_RTS 1526 /*! * transaction: rollback to stable history store keys that would have * been swept in non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS_DRYRUN 1526 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS_DRYRUN 1527 /*! * transaction: rollback to stable history store records with stop * timestamps older than newer records */ -#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1527 +#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START 1528 /*! transaction: rollback to stable inconsistent checkpoint */ -#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1528 +#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT 1529 /*! transaction: rollback to stable keys removed */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1529 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED 1530 /*! transaction: rollback to stable keys restored */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1530 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED 1531 /*! * transaction: rollback to stable keys that would have been removed in * non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED_DRYRUN 1531 +#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED_DRYRUN 1532 /*! * transaction: rollback to stable keys that would have been restored in * non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED_DRYRUN 1532 +#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED_DRYRUN 1533 /*! transaction: rollback to stable pages visited */ -#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1533 +#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED 1534 /*! transaction: rollback to stable restored tombstones from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1534 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES 1535 /*! transaction: rollback to stable restored updates from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1535 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES 1536 /*! transaction: rollback to stable skipping delete rle */ -#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1536 +#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED 1537 /*! transaction: rollback to stable skipping stable rle */ -#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1537 +#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED 1538 /*! transaction: rollback to stable sweeping history store keys */ -#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1538 +#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS 1539 /*! * transaction: rollback to stable tombstones from history store that * would have been restored in non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES_DRYRUN 1539 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES_DRYRUN 1540 /*! transaction: rollback to stable tree walk skipping pages */ -#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1540 +#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES 1541 /*! transaction: rollback to stable updates aborted */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1541 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED 1542 /*! * transaction: rollback to stable updates from history store that would * have been restored in non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES_DRYRUN 1542 +#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES_DRYRUN 1543 /*! transaction: rollback to stable updates removed from history store */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1543 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED 1544 /*! * transaction: rollback to stable updates that would have been aborted * in non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED_DRYRUN 1544 +#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED_DRYRUN 1545 /*! * transaction: rollback to stable updates that would have been removed * from history store in non-dryrun mode */ -#define WT_STAT_CONN_TXN_RTS_HS_REMOVED_DRYRUN 1545 +#define WT_STAT_CONN_TXN_RTS_HS_REMOVED_DRYRUN 1546 /*! transaction: sessions scanned in each walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1546 +#define WT_STAT_CONN_TXN_SESSIONS_WALKED 1547 /*! transaction: set timestamp calls */ -#define WT_STAT_CONN_TXN_SET_TS 1547 +#define WT_STAT_CONN_TXN_SET_TS 1548 /*! transaction: set timestamp durable calls */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1548 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE 1549 /*! transaction: set timestamp durable updates */ -#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1549 +#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD 1550 /*! transaction: set timestamp oldest calls */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1550 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST 1551 /*! transaction: set timestamp oldest updates */ -#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1551 +#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD 1552 /*! transaction: set timestamp stable calls */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE 1552 +#define WT_STAT_CONN_TXN_SET_TS_STABLE 1553 /*! transaction: set timestamp stable updates */ -#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1553 +#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD 1554 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1554 +#define WT_STAT_CONN_TXN_BEGIN 1555 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1555 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1556 /*! * transaction: transaction checkpoint currently running for history * store file */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1556 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS 1557 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1557 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1558 /*! * transaction: transaction checkpoint history store file duration * (usecs) */ -#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1558 +#define WT_STAT_CONN_TXN_HS_CKPT_DURATION 1559 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1559 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1560 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1560 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1561 /*! * transaction: transaction checkpoint most recent duration for gathering * all handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1561 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION 1562 /*! * transaction: transaction checkpoint most recent duration for gathering * applied handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1562 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY 1563 /*! * transaction: transaction checkpoint most recent duration for gathering * skipped handles (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1563 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP 1564 /*! transaction: transaction checkpoint most recent handles applied */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1564 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED 1565 /*! transaction: transaction checkpoint most recent handles skipped */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1565 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED 1566 /*! transaction: transaction checkpoint most recent handles walked */ -#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1566 +#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED 1567 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1567 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1568 /*! transaction: transaction checkpoint prepare currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1568 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING 1569 /*! transaction: transaction checkpoint prepare max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1569 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX 1570 /*! transaction: transaction checkpoint prepare min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1570 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN 1571 /*! transaction: transaction checkpoint prepare most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1571 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT 1572 /*! transaction: transaction checkpoint prepare total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1572 +#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL 1573 /*! transaction: transaction checkpoint scrub dirty target */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1573 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1574 /*! transaction: transaction checkpoint scrub time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1574 +#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1575 /*! transaction: transaction checkpoint stop timing stress active */ -#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1575 +#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE 1576 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1576 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1577 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1577 +#define WT_STAT_CONN_TXN_CHECKPOINT 1578 /*! transaction: transaction checkpoints due to obsolete pages */ -#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1578 +#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED 1579 /*! * transaction: transaction checkpoints skipped because database was * clean */ -#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1579 +#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1580 /*! * transaction: transaction fsync calls for checkpoint after allocating * the transaction ID */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1580 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1581 /*! * transaction: transaction fsync duration for checkpoint after * allocating the transaction ID (usecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1581 +#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1582 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1582 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1583 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1583 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1584 /*! transaction: transaction range of timestamps currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1584 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP 1585 /*! transaction: transaction range of timestamps pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1585 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT 1586 /*! * transaction: transaction range of timestamps pinned by the oldest * active read timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1586 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER 1587 /*! * transaction: transaction range of timestamps pinned by the oldest * timestamp */ -#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1587 +#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST 1588 /*! transaction: transaction read timestamp of the oldest active reader */ -#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1588 +#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ 1589 /*! transaction: transaction rollback to stable currently running */ -#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1589 +#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING 1590 /*! transaction: transaction walk of concurrent sessions */ -#define WT_STAT_CONN_TXN_WALK_SESSIONS 1590 +#define WT_STAT_CONN_TXN_WALK_SESSIONS 1591 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1591 +#define WT_STAT_CONN_TXN_COMMIT 1592 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1592 +#define WT_STAT_CONN_TXN_ROLLBACK 1593 /*! transaction: update conflicts */ -#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1593 +#define WT_STAT_CONN_TXN_UPDATE_CONFLICT 1594 /*! * @} diff --git a/src/third_party/wiredtiger/src/reconcile/rec_write.c b/src/third_party/wiredtiger/src/reconcile/rec_write.c index 748a64cd620..c8eaebbd2b0 100644 --- a/src/third_party/wiredtiger/src/reconcile/rec_write.c +++ b/src/third_party/wiredtiger/src/reconcile/rec_write.c @@ -112,21 +112,26 @@ err: * (it's just a statistic). */ session->reconcile_timeline.reconcile_finish = __wt_clock(session); - if (WT_CLOCKDIFF_SEC(session->reconcile_timeline.hs_wrapup_finish, - session->reconcile_timeline.hs_wrapup_start) > conn->rec_maximum_hs_wrapup_seconds) - conn->rec_maximum_hs_wrapup_seconds = - WT_CLOCKDIFF_SEC(session->reconcile_timeline.hs_wrapup_finish, + if (WT_CLOCKDIFF_MS(session->reconcile_timeline.hs_wrapup_finish, + session->reconcile_timeline.hs_wrapup_start) > conn->rec_maximum_hs_wrapup_milliseconds) + conn->rec_maximum_hs_wrapup_milliseconds = + WT_CLOCKDIFF_MS(session->reconcile_timeline.hs_wrapup_finish, session->reconcile_timeline.hs_wrapup_start); - if (WT_CLOCKDIFF_SEC(session->reconcile_timeline.image_build_finish, - session->reconcile_timeline.image_build_start) > conn->rec_maximum_image_build_seconds) - conn->rec_maximum_image_build_seconds = - WT_CLOCKDIFF_SEC(session->reconcile_timeline.image_build_finish, + if (WT_CLOCKDIFF_MS(session->reconcile_timeline.image_build_finish, + session->reconcile_timeline.image_build_start) > + conn->rec_maximum_image_build_milliseconds) + conn->rec_maximum_image_build_milliseconds = + WT_CLOCKDIFF_MS(session->reconcile_timeline.image_build_finish, session->reconcile_timeline.image_build_start); if (WT_CLOCKDIFF_SEC(session->reconcile_timeline.reconcile_finish, - session->reconcile_timeline.reconcile_start) > conn->rec_maximum_seconds) - conn->rec_maximum_seconds = WT_CLOCKDIFF_SEC(session->reconcile_timeline.reconcile_finish, - session->reconcile_timeline.reconcile_start); - + session->reconcile_timeline.reconcile_start) > conn->rec_maximum_milliseconds) + conn->rec_maximum_milliseconds = + WT_CLOCKDIFF_MS(session->reconcile_timeline.reconcile_finish, + session->reconcile_timeline.reconcile_start); + if (session->reconcile_timeline.total_reentry_hs_eviction_time > + conn->cache->reentry_hs_eviction_ms) + conn->cache->reentry_hs_eviction_ms = + session->reconcile_timeline.total_reentry_hs_eviction_time; return (ret); } @@ -253,7 +258,9 @@ __reconcile(WT_SESSION_IMPL *session, WT_REF *ref, WT_SALVAGE_COOKIE *salvage, u WT_RET(__rec_init(session, ref, flags, salvage, &session->reconcile)); r = session->reconcile; - session->reconcile_timeline.image_build_start = __wt_clock(session); + /* Only update if we are in the first entry into eviction. */ + if (!session->evict_timeline.reentry_hs_eviction) + session->reconcile_timeline.image_build_start = __wt_clock(session); /* Reconcile the page. */ switch (page->type) { @@ -282,7 +289,8 @@ __reconcile(WT_SESSION_IMPL *session, WT_REF *ref, WT_SALVAGE_COOKIE *salvage, u break; } - session->reconcile_timeline.image_build_finish = __wt_clock(session); + if (!session->evict_timeline.reentry_hs_eviction) + session->reconcile_timeline.image_build_finish = __wt_clock(session); /* * If we failed, don't bail out yet; we still need to update stats and tidy up. diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c index 8146104970d..0eba83aeb2e 100644 --- a/src/third_party/wiredtiger/src/support/stat.c +++ b/src/third_party/wiredtiger/src/support/stat.c @@ -1444,8 +1444,8 @@ static const char *const __stats_connection_desc[] = { "cache: internal pages split during eviction", "cache: leaf pages split during eviction", "cache: maximum bytes configured", + "cache: maximum milliseconds spent at a single eviction", "cache: maximum page size seen at eviction", - "cache: maximum seconds spent at a single eviction", "cache: modified pages evicted", "cache: modified pages evicted by application threads", "cache: operations timed out waiting for space in cache", @@ -1483,6 +1483,7 @@ static const char *const __stats_connection_desc[] = { "cache: reverse splits skipped because of VLCS namespace gap restrictions", "cache: the number of times full update inserted to history store", "cache: the number of times reverse modify inserted to history store", + "cache: total milliseconds spent inside reentrant history store evictions in a reconciliation", "cache: tracked bytes belonging to internal pages in the cache", "cache: tracked bytes belonging to leaf pages in the cache", "cache: tracked dirty bytes in the cache", @@ -1723,9 +1724,9 @@ static const char *const __stats_connection_desc[] = { "reconciliation: approximate byte size of transaction IDs in pages written", "reconciliation: fast-path pages deleted", "reconciliation: leaf-page overflow keys", - "reconciliation: maximum seconds spent in a reconciliation call", - "reconciliation: maximum seconds spent in building a disk image in a reconciliation", - "reconciliation: maximum seconds spent in moving updates to the history store in a " + "reconciliation: maximum milliseconds spent in a reconciliation call", + "reconciliation: maximum milliseconds spent in building a disk image in a reconciliation", + "reconciliation: maximum milliseconds spent in moving updates to the history store in a " "reconciliation", "reconciliation: page reconciliation calls", "reconciliation: page reconciliation calls for eviction", @@ -2090,8 +2091,8 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_eviction_split_internal = 0; stats->cache_eviction_split_leaf = 0; /* not clearing cache_bytes_max */ + /* not clearing cache_eviction_maximum_milliseconds */ /* not clearing cache_eviction_maximum_page_size */ - /* not clearing cache_eviction_maximum_seconds */ stats->cache_eviction_dirty = 0; stats->cache_eviction_app_dirty = 0; stats->cache_timed_out_ops = 0; @@ -2127,6 +2128,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->cache_reverse_splits_skipped_vlcs = 0; stats->cache_hs_insert_full_update = 0; stats->cache_hs_insert_reverse_modify = 0; + /* not clearing cache_reentry_hs_eviction_milliseconds */ /* not clearing cache_bytes_internal */ /* not clearing cache_bytes_leaf */ /* not clearing cache_bytes_dirty */ @@ -2365,9 +2367,9 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats) stats->rec_time_window_bytes_txn = 0; stats->rec_page_delete_fast = 0; stats->rec_overflow_key_leaf = 0; - /* not clearing rec_maximum_seconds */ - /* not clearing rec_maximum_image_build_seconds */ - /* not clearing rec_maximum_hs_wrapup_seconds */ + /* not clearing rec_maximum_milliseconds */ + /* not clearing rec_maximum_image_build_milliseconds */ + /* not clearing rec_maximum_hs_wrapup_milliseconds */ stats->rec_pages = 0; stats->rec_pages_eviction = 0; stats->rec_pages_with_prepare = 0; @@ -2724,8 +2726,9 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_eviction_split_internal += WT_STAT_READ(from, cache_eviction_split_internal); to->cache_eviction_split_leaf += WT_STAT_READ(from, cache_eviction_split_leaf); to->cache_bytes_max += WT_STAT_READ(from, cache_bytes_max); + to->cache_eviction_maximum_milliseconds += + WT_STAT_READ(from, cache_eviction_maximum_milliseconds); to->cache_eviction_maximum_page_size += WT_STAT_READ(from, cache_eviction_maximum_page_size); - to->cache_eviction_maximum_seconds += WT_STAT_READ(from, cache_eviction_maximum_seconds); to->cache_eviction_dirty += WT_STAT_READ(from, cache_eviction_dirty); to->cache_eviction_app_dirty += WT_STAT_READ(from, cache_eviction_app_dirty); to->cache_timed_out_ops += WT_STAT_READ(from, cache_timed_out_ops); @@ -2772,6 +2775,8 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->cache_reverse_splits_skipped_vlcs += WT_STAT_READ(from, cache_reverse_splits_skipped_vlcs); to->cache_hs_insert_full_update += WT_STAT_READ(from, cache_hs_insert_full_update); to->cache_hs_insert_reverse_modify += WT_STAT_READ(from, cache_hs_insert_reverse_modify); + to->cache_reentry_hs_eviction_milliseconds += + WT_STAT_READ(from, cache_reentry_hs_eviction_milliseconds); to->cache_bytes_internal += WT_STAT_READ(from, cache_bytes_internal); to->cache_bytes_leaf += WT_STAT_READ(from, cache_bytes_leaf); to->cache_bytes_dirty += WT_STAT_READ(from, cache_bytes_dirty); @@ -3017,9 +3022,11 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS * to->rec_time_window_bytes_txn += WT_STAT_READ(from, rec_time_window_bytes_txn); to->rec_page_delete_fast += WT_STAT_READ(from, rec_page_delete_fast); to->rec_overflow_key_leaf += WT_STAT_READ(from, rec_overflow_key_leaf); - to->rec_maximum_seconds += WT_STAT_READ(from, rec_maximum_seconds); - to->rec_maximum_image_build_seconds += WT_STAT_READ(from, rec_maximum_image_build_seconds); - to->rec_maximum_hs_wrapup_seconds += WT_STAT_READ(from, rec_maximum_hs_wrapup_seconds); + to->rec_maximum_milliseconds += WT_STAT_READ(from, rec_maximum_milliseconds); + to->rec_maximum_image_build_milliseconds += + WT_STAT_READ(from, rec_maximum_image_build_milliseconds); + to->rec_maximum_hs_wrapup_milliseconds += + WT_STAT_READ(from, rec_maximum_hs_wrapup_milliseconds); to->rec_pages += WT_STAT_READ(from, rec_pages); to->rec_pages_eviction += WT_STAT_READ(from, rec_pages_eviction); to->rec_pages_with_prepare += WT_STAT_READ(from, rec_pages_with_prepare); diff --git a/src/third_party/wiredtiger/src/txn/txn_ckpt.c b/src/third_party/wiredtiger/src/txn/txn_ckpt.c index 1bd5cd9524d..1d9c1741e42 100644 --- a/src/third_party/wiredtiger/src/txn/txn_ckpt.c +++ b/src/third_party/wiredtiger/src/txn/txn_ckpt.c @@ -1032,10 +1032,11 @@ __txn_checkpoint(WT_SESSION_IMPL *session, const char *cfg[]) /* Reset the statistics tracked per checkpoint. */ cache->evict_max_page_size = 0; - cache->evict_max_seconds = 0; - conn->rec_maximum_hs_wrapup_seconds = 0; - conn->rec_maximum_image_build_seconds = 0; - conn->rec_maximum_seconds = 0; + cache->evict_max_ms = 0; + cache->reentry_hs_eviction_ms = 0; + conn->rec_maximum_hs_wrapup_milliseconds = 0; + conn->rec_maximum_image_build_milliseconds = 0; + conn->rec_maximum_milliseconds = 0; /* Initialize the verbose tracking timer */ __wt_epoch(session, &conn->ckpt_timer_start); |