summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hows <howsdav@gmail.com>2017-05-26 12:29:42 +1000
committerGitHub <noreply@github.com>2017-05-26 12:29:42 +1000
commit4ac341a6860dfc45803b18721250bffd022c8387 (patch)
tree9f4dba258d196106a8071587f688ebed780857d8
parentdb14d312f68769f358662f5ea7aa74d61b9cd35d (diff)
downloadmongo-4ac341a6860dfc45803b18721250bffd022c8387.tar.gz
WT-3258 Add timers tracking time spent on failed evictions of large p… (#3428)
-rw-r--r--dist/stat_data.py9
-rw-r--r--src/evict/evict_page.c29
-rw-r--r--src/include/stat.h3
-rw-r--r--src/include/wiredtiger.in412
-rw-r--r--src/support/stat.c18
5 files changed, 262 insertions, 209 deletions
diff --git a/dist/stat_data.py b/dist/stat_data.py
index 203a88fb055..acc156b947e 100644
--- a/dist/stat_data.py
+++ b/dist/stat_data.py
@@ -204,9 +204,12 @@ connection_stats = [
CacheStat('cache_eviction_dirty', 'modified pages evicted'),
CacheStat('cache_eviction_empty_score', 'eviction empty score', 'no_clear,no_scale'),
CacheStat('cache_eviction_fail', 'pages selected for eviction unable to be evicted'),
- CacheStat('cache_eviction_force', 'pages evicted because they exceeded the in-memory maximum'),
- CacheStat('cache_eviction_force_delete', 'pages evicted because they had chains of deleted items'),
- CacheStat('cache_eviction_force_fail', 'failed eviction of pages that exceeded the in-memory maximum'),
+ CacheStat('cache_eviction_force', 'pages evicted because they exceeded the in-memory maximum count'),
+ CacheStat('cache_eviction_force_time', 'pages evicted because they exceeded the in-memory maximum time (usecs)'),
+ CacheStat('cache_eviction_force_delete', 'pages evicted because they had chains of deleted items count'),
+ CacheStat('cache_eviction_force_delete_time', 'pages evicted because they had chains of deleted items time (usecs)'),
+ CacheStat('cache_eviction_force_fail', 'failed eviction of pages that exceeded the in-memory maximum count'),
+ CacheStat('cache_eviction_force_fail_time', 'failed eviction of pages that exceeded the in-memory maximum time (usecs)'),
CacheStat('cache_eviction_force_retune', 'force re-tuning of eviction workers once in a while'),
CacheStat('cache_eviction_get_ref', 'eviction calls to get a page'),
CacheStat('cache_eviction_get_ref_empty', 'eviction calls to get a page found queue empty'),
diff --git a/src/evict/evict_page.c b/src/evict/evict_page.c
index 80aba818153..01818f106fc 100644
--- a/src/evict/evict_page.c
+++ b/src/evict/evict_page.c
@@ -55,10 +55,12 @@ __wt_page_release_evict(WT_SESSION_IMPL *session, WT_REF *ref)
WT_BTREE *btree;
WT_DECL_RET;
WT_PAGE *page;
+ struct timespec start, stop;
bool locked, too_big;
btree = S2BT(session);
page = ref->page;
+ __wt_epoch(session, &start);
/*
* Take some care with order of operations: if we release the hazard
@@ -75,19 +77,34 @@ __wt_page_release_evict(WT_SESSION_IMPL *session, WT_REF *ref)
(void)__wt_atomic_addv32(&btree->evict_busy, 1);
too_big = page->memory_footprint >= btree->splitmempage;
- if ((ret = __wt_evict(session, ref, false)) == 0) {
- if (too_big)
+
+ /*
+ * Track how long the call to evict took. If eviction is successful then
+ * we have one of two pairs of stats to increment.
+ */
+ ret = __wt_evict(session, ref, false);
+ __wt_epoch(session, &stop);
+ if (ret == 0) {
+ if (too_big) {
WT_STAT_CONN_INCR(session, cache_eviction_force);
- else
+ WT_STAT_CONN_INCRV(session, cache_eviction_force_time,
+ WT_TIMEDIFF_US(stop, start));
+ } else {
/*
* If the page isn't too big, we are evicting it because
* it had a chain of deleted entries that make traversal
* expensive.
*/
- WT_STAT_CONN_INCR(
- session, cache_eviction_force_delete);
- } else
+ WT_STAT_CONN_INCR(session, cache_eviction_force_delete);
+ WT_STAT_CONN_INCRV(session,
+ cache_eviction_force_delete_time,
+ WT_TIMEDIFF_US(stop, start));
+ }
+ } else {
WT_STAT_CONN_INCR(session, cache_eviction_force_fail);
+ WT_STAT_CONN_INCRV(session, cache_eviction_force_fail_time,
+ WT_TIMEDIFF_US(stop, start));
+ }
(void)__wt_atomic_subv32(&btree->evict_busy, 1);
diff --git a/src/include/stat.h b/src/include/stat.h
index fa62cf27693..7c2529f1746 100644
--- a/src/include/stat.h
+++ b/src/include/stat.h
@@ -316,6 +316,7 @@ struct __wt_connection_stats {
int64_t cache_eviction_worker_removed;
int64_t cache_eviction_stable_state_workers;
int64_t cache_eviction_force_fail;
+ int64_t cache_eviction_force_fail_time;
int64_t cache_eviction_walks_active;
int64_t cache_eviction_walks_started;
int64_t cache_eviction_force_retune;
@@ -340,7 +341,9 @@ struct __wt_connection_stats {
int64_t cache_write_lookaside;
int64_t cache_pages_inuse;
int64_t cache_eviction_force;
+ int64_t cache_eviction_force_time;
int64_t cache_eviction_force_delete;
+ int64_t cache_eviction_force_delete_time;
int64_t cache_eviction_app;
int64_t cache_eviction_pages_queued;
int64_t cache_eviction_pages_queued_urgent;
diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in
index 5e76b2915b1..2bbe812d7f7 100644
--- a/src/include/wiredtiger.in
+++ b/src/include/wiredtiger.in
@@ -4560,414 +4560,432 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_CACHE_EVICTION_WORKER_REMOVED 1056
/*! cache: eviction worker thread stable number */
#define WT_STAT_CONN_CACHE_EVICTION_STABLE_STATE_WORKERS 1057
-/*! cache: failed eviction of pages that exceeded the in-memory maximum */
+/*!
+ * cache: failed eviction of pages that exceeded the in-memory maximum
+ * count
+ */
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1058
+/*!
+ * cache: failed eviction of pages that exceeded the in-memory maximum
+ * time (usecs)
+ */
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL_TIME 1059
/*! cache: files with active eviction walks */
-#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ACTIVE 1059
+#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ACTIVE 1060
/*! cache: files with new eviction walks started */
-#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STARTED 1060
+#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STARTED 1061
/*! cache: force re-tuning of eviction workers once in a while */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE_RETUNE 1061
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_RETUNE 1062
/*! cache: hazard pointer blocked page eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1062
+#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1063
/*! cache: hazard pointer check calls */
-#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1063
+#define WT_STAT_CONN_CACHE_HAZARD_CHECKS 1064
/*! cache: hazard pointer check entries walked */
-#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1064
+#define WT_STAT_CONN_CACHE_HAZARD_WALKS 1065
/*! cache: hazard pointer maximum array length */
-#define WT_STAT_CONN_CACHE_HAZARD_MAX 1065
+#define WT_STAT_CONN_CACHE_HAZARD_MAX 1066
/*! cache: in-memory page passed criteria to be split */
-#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1066
+#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1067
/*! cache: in-memory page splits */
-#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1067
+#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1068
/*! cache: internal pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1068
+#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1069
/*! cache: internal pages split during eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1069
+#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1070
/*! cache: leaf pages split during eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1070
+#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1071
/*! cache: lookaside table insert calls */
-#define WT_STAT_CONN_CACHE_LOOKASIDE_INSERT 1071
+#define WT_STAT_CONN_CACHE_LOOKASIDE_INSERT 1072
/*! cache: lookaside table remove calls */
-#define WT_STAT_CONN_CACHE_LOOKASIDE_REMOVE 1072
+#define WT_STAT_CONN_CACHE_LOOKASIDE_REMOVE 1073
/*! cache: maximum bytes configured */
-#define WT_STAT_CONN_CACHE_BYTES_MAX 1073
+#define WT_STAT_CONN_CACHE_BYTES_MAX 1074
/*! cache: maximum page size at eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1074
+#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE 1075
/*! cache: modified pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1075
+#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1076
/*! cache: modified pages evicted by application threads */
-#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1076
+#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY 1077
/*! cache: overflow pages read into cache */
-#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1077
+#define WT_STAT_CONN_CACHE_READ_OVERFLOW 1078
/*! cache: overflow values cached in memory */
-#define WT_STAT_CONN_CACHE_OVERFLOW_VALUE 1078
+#define WT_STAT_CONN_CACHE_OVERFLOW_VALUE 1079
/*! cache: page split during eviction deepened the tree */
-#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1079
+#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1080
/*! cache: page written requiring lookaside records */
-#define WT_STAT_CONN_CACHE_WRITE_LOOKASIDE 1080
+#define WT_STAT_CONN_CACHE_WRITE_LOOKASIDE 1081
/*! cache: pages currently held in the cache */
-#define WT_STAT_CONN_CACHE_PAGES_INUSE 1081
-/*! cache: pages evicted because they exceeded the in-memory maximum */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1082
-/*! cache: pages evicted because they had chains of deleted items */
-#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1083
+#define WT_STAT_CONN_CACHE_PAGES_INUSE 1082
+/*! cache: pages evicted because they exceeded the in-memory maximum count */
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1083
+/*!
+ * cache: pages evicted because they exceeded the in-memory maximum time
+ * (usecs)
+ */
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_TIME 1084
+/*! cache: pages evicted because they had chains of deleted items count */
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE 1085
+/*!
+ * cache: pages evicted because they had chains of deleted items time
+ * (usecs)
+ */
+#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE_TIME 1086
/*! cache: pages evicted by application threads */
-#define WT_STAT_CONN_CACHE_EVICTION_APP 1084
+#define WT_STAT_CONN_CACHE_EVICTION_APP 1087
/*! cache: pages queued for eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1085
+#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED 1088
/*! cache: pages queued for urgent eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1086
+#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT 1089
/*! cache: pages queued for urgent eviction during walk */
-#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1087
+#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST 1090
/*! cache: pages read into cache */
-#define WT_STAT_CONN_CACHE_READ 1088
+#define WT_STAT_CONN_CACHE_READ 1091
/*! cache: pages read into cache requiring lookaside entries */
-#define WT_STAT_CONN_CACHE_READ_LOOKASIDE 1089
+#define WT_STAT_CONN_CACHE_READ_LOOKASIDE 1092
/*! cache: pages requested from the cache */
-#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1090
+#define WT_STAT_CONN_CACHE_PAGES_REQUESTED 1093
/*! cache: pages seen by eviction walk */
-#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1091
+#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN 1094
/*! cache: pages selected for eviction unable to be evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1092
+#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1095
/*! cache: pages walked for eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_WALK 1093
+#define WT_STAT_CONN_CACHE_EVICTION_WALK 1096
/*! cache: pages written from cache */
-#define WT_STAT_CONN_CACHE_WRITE 1094
+#define WT_STAT_CONN_CACHE_WRITE 1097
/*! cache: pages written requiring in-memory restoration */
-#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1095
+#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1098
/*! cache: percentage overhead */
-#define WT_STAT_CONN_CACHE_OVERHEAD 1096
+#define WT_STAT_CONN_CACHE_OVERHEAD 1099
/*! cache: tracked bytes belonging to internal pages in the cache */
-#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1097
+#define WT_STAT_CONN_CACHE_BYTES_INTERNAL 1100
/*! cache: tracked bytes belonging to leaf pages in the cache */
-#define WT_STAT_CONN_CACHE_BYTES_LEAF 1098
+#define WT_STAT_CONN_CACHE_BYTES_LEAF 1101
/*! cache: tracked dirty bytes in the cache */
-#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1099
+#define WT_STAT_CONN_CACHE_BYTES_DIRTY 1102
/*! cache: tracked dirty pages in the cache */
-#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1100
+#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1103
/*! cache: unmodified pages evicted */
-#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1101
+#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1104
/*! connection: auto adjusting condition resets */
-#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1102
+#define WT_STAT_CONN_COND_AUTO_WAIT_RESET 1105
/*! connection: auto adjusting condition wait calls */
-#define WT_STAT_CONN_COND_AUTO_WAIT 1103
+#define WT_STAT_CONN_COND_AUTO_WAIT 1106
/*! connection: detected system time went backwards */
-#define WT_STAT_CONN_TIME_TRAVEL 1104
+#define WT_STAT_CONN_TIME_TRAVEL 1107
/*! connection: files currently open */
-#define WT_STAT_CONN_FILE_OPEN 1105
+#define WT_STAT_CONN_FILE_OPEN 1108
/*! connection: memory allocations */
-#define WT_STAT_CONN_MEMORY_ALLOCATION 1106
+#define WT_STAT_CONN_MEMORY_ALLOCATION 1109
/*! connection: memory frees */
-#define WT_STAT_CONN_MEMORY_FREE 1107
+#define WT_STAT_CONN_MEMORY_FREE 1110
/*! connection: memory re-allocations */
-#define WT_STAT_CONN_MEMORY_GROW 1108
+#define WT_STAT_CONN_MEMORY_GROW 1111
/*! connection: pthread mutex condition wait calls */
-#define WT_STAT_CONN_COND_WAIT 1109
+#define WT_STAT_CONN_COND_WAIT 1112
/*! connection: pthread mutex shared lock read-lock calls */
-#define WT_STAT_CONN_RWLOCK_READ 1110
+#define WT_STAT_CONN_RWLOCK_READ 1113
/*! connection: pthread mutex shared lock write-lock calls */
-#define WT_STAT_CONN_RWLOCK_WRITE 1111
+#define WT_STAT_CONN_RWLOCK_WRITE 1114
/*! connection: total fsync I/Os */
-#define WT_STAT_CONN_FSYNC_IO 1112
+#define WT_STAT_CONN_FSYNC_IO 1115
/*! connection: total read I/Os */
-#define WT_STAT_CONN_READ_IO 1113
+#define WT_STAT_CONN_READ_IO 1116
/*! connection: total write I/Os */
-#define WT_STAT_CONN_WRITE_IO 1114
+#define WT_STAT_CONN_WRITE_IO 1117
/*! cursor: cursor create calls */
-#define WT_STAT_CONN_CURSOR_CREATE 1115
+#define WT_STAT_CONN_CURSOR_CREATE 1118
/*! cursor: cursor insert calls */
-#define WT_STAT_CONN_CURSOR_INSERT 1116
+#define WT_STAT_CONN_CURSOR_INSERT 1119
/*! cursor: cursor modify calls */
-#define WT_STAT_CONN_CURSOR_MODIFY 1117
+#define WT_STAT_CONN_CURSOR_MODIFY 1120
/*! cursor: cursor next calls */
-#define WT_STAT_CONN_CURSOR_NEXT 1118
+#define WT_STAT_CONN_CURSOR_NEXT 1121
/*! cursor: cursor prev calls */
-#define WT_STAT_CONN_CURSOR_PREV 1119
+#define WT_STAT_CONN_CURSOR_PREV 1122
/*! cursor: cursor remove calls */
-#define WT_STAT_CONN_CURSOR_REMOVE 1120
+#define WT_STAT_CONN_CURSOR_REMOVE 1123
/*! cursor: cursor reserve calls */
-#define WT_STAT_CONN_CURSOR_RESERVE 1121
+#define WT_STAT_CONN_CURSOR_RESERVE 1124
/*! cursor: cursor reset calls */
-#define WT_STAT_CONN_CURSOR_RESET 1122
+#define WT_STAT_CONN_CURSOR_RESET 1125
/*! cursor: cursor restarted searches */
-#define WT_STAT_CONN_CURSOR_RESTART 1123
+#define WT_STAT_CONN_CURSOR_RESTART 1126
/*! cursor: cursor search calls */
-#define WT_STAT_CONN_CURSOR_SEARCH 1124
+#define WT_STAT_CONN_CURSOR_SEARCH 1127
/*! cursor: cursor search near calls */
-#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1125
+#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1128
/*! cursor: cursor update calls */
-#define WT_STAT_CONN_CURSOR_UPDATE 1126
+#define WT_STAT_CONN_CURSOR_UPDATE 1129
/*! cursor: truncate calls */
-#define WT_STAT_CONN_CURSOR_TRUNCATE 1127
+#define WT_STAT_CONN_CURSOR_TRUNCATE 1130
/*! data-handle: connection data handles currently active */
-#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1128
+#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1131
/*! data-handle: connection sweep candidate became referenced */
-#define WT_STAT_CONN_DH_SWEEP_REF 1129
+#define WT_STAT_CONN_DH_SWEEP_REF 1132
/*! data-handle: connection sweep dhandles closed */
-#define WT_STAT_CONN_DH_SWEEP_CLOSE 1130
+#define WT_STAT_CONN_DH_SWEEP_CLOSE 1133
/*! data-handle: connection sweep dhandles removed from hash list */
-#define WT_STAT_CONN_DH_SWEEP_REMOVE 1131
+#define WT_STAT_CONN_DH_SWEEP_REMOVE 1134
/*! data-handle: connection sweep time-of-death sets */
-#define WT_STAT_CONN_DH_SWEEP_TOD 1132
+#define WT_STAT_CONN_DH_SWEEP_TOD 1135
/*! data-handle: connection sweeps */
-#define WT_STAT_CONN_DH_SWEEPS 1133
+#define WT_STAT_CONN_DH_SWEEPS 1136
/*! data-handle: session dhandles swept */
-#define WT_STAT_CONN_DH_SESSION_HANDLES 1134
+#define WT_STAT_CONN_DH_SESSION_HANDLES 1137
/*! data-handle: session sweep attempts */
-#define WT_STAT_CONN_DH_SESSION_SWEEPS 1135
+#define WT_STAT_CONN_DH_SESSION_SWEEPS 1138
/*! lock: checkpoint lock acquisitions */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1136
+#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1139
/*! lock: checkpoint lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1137
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1140
/*! lock: checkpoint lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1138
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1141
/*! lock: handle-list lock eviction thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_HANDLE_LIST_WAIT_EVICTION 1139
+#define WT_STAT_CONN_LOCK_HANDLE_LIST_WAIT_EVICTION 1142
/*! lock: metadata lock acquisitions */
-#define WT_STAT_CONN_LOCK_METADATA_COUNT 1140
+#define WT_STAT_CONN_LOCK_METADATA_COUNT 1143
/*! lock: metadata lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1141
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1144
/*! lock: metadata lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1142
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1145
/*! lock: schema lock acquisitions */
-#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1143
+#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1146
/*! lock: schema lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1144
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1147
/*! lock: schema lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1145
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1148
/*! lock: table lock acquisitions */
-#define WT_STAT_CONN_LOCK_TABLE_COUNT 1146
+#define WT_STAT_CONN_LOCK_TABLE_COUNT 1149
/*!
* lock: table lock application thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1147
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1150
/*!
* lock: table lock internal thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1148
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1151
/*! log: busy returns attempting to switch slots */
-#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1149
+#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1152
/*! log: log bytes of payload data */
-#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1150
+#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1153
/*! log: log bytes written */
-#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1151
+#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1154
/*! log: log files manually zero-filled */
-#define WT_STAT_CONN_LOG_ZERO_FILLS 1152
+#define WT_STAT_CONN_LOG_ZERO_FILLS 1155
/*! log: log flush operations */
-#define WT_STAT_CONN_LOG_FLUSH 1153
+#define WT_STAT_CONN_LOG_FLUSH 1156
/*! log: log force write operations */
-#define WT_STAT_CONN_LOG_FORCE_WRITE 1154
+#define WT_STAT_CONN_LOG_FORCE_WRITE 1157
/*! log: log force write operations skipped */
-#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1155
+#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1158
/*! log: log records compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1156
+#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1159
/*! log: log records not compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1157
+#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1160
/*! log: log records too small to compress */
-#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1158
+#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1161
/*! log: log release advances write LSN */
-#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1159
+#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1162
/*! log: log scan operations */
-#define WT_STAT_CONN_LOG_SCANS 1160
+#define WT_STAT_CONN_LOG_SCANS 1163
/*! log: log scan records requiring two reads */
-#define WT_STAT_CONN_LOG_SCAN_REREADS 1161
+#define WT_STAT_CONN_LOG_SCAN_REREADS 1164
/*! log: log server thread advances write LSN */
-#define WT_STAT_CONN_LOG_WRITE_LSN 1162
+#define WT_STAT_CONN_LOG_WRITE_LSN 1165
/*! log: log server thread write LSN walk skipped */
-#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1163
+#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1166
/*! log: log sync operations */
-#define WT_STAT_CONN_LOG_SYNC 1164
+#define WT_STAT_CONN_LOG_SYNC 1167
/*! log: log sync time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DURATION 1165
+#define WT_STAT_CONN_LOG_SYNC_DURATION 1168
/*! log: log sync_dir operations */
-#define WT_STAT_CONN_LOG_SYNC_DIR 1166
+#define WT_STAT_CONN_LOG_SYNC_DIR 1169
/*! log: log sync_dir time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1167
+#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1170
/*! log: log write operations */
-#define WT_STAT_CONN_LOG_WRITES 1168
+#define WT_STAT_CONN_LOG_WRITES 1171
/*! log: logging bytes consolidated */
-#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1169
+#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1172
/*! log: maximum log file size */
-#define WT_STAT_CONN_LOG_MAX_FILESIZE 1170
+#define WT_STAT_CONN_LOG_MAX_FILESIZE 1173
/*! log: number of pre-allocated log files to create */
-#define WT_STAT_CONN_LOG_PREALLOC_MAX 1171
+#define WT_STAT_CONN_LOG_PREALLOC_MAX 1174
/*! log: pre-allocated log files not ready and missed */
-#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1172
+#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1175
/*! log: pre-allocated log files prepared */
-#define WT_STAT_CONN_LOG_PREALLOC_FILES 1173
+#define WT_STAT_CONN_LOG_PREALLOC_FILES 1176
/*! log: pre-allocated log files used */
-#define WT_STAT_CONN_LOG_PREALLOC_USED 1174
+#define WT_STAT_CONN_LOG_PREALLOC_USED 1177
/*! log: records processed by log scan */
-#define WT_STAT_CONN_LOG_SCAN_RECORDS 1175
+#define WT_STAT_CONN_LOG_SCAN_RECORDS 1178
/*! log: slot close lost race */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1176
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1179
/*! log: slot close unbuffered waits */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1177
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1180
/*! log: slot closures */
-#define WT_STAT_CONN_LOG_SLOT_CLOSES 1178
+#define WT_STAT_CONN_LOG_SLOT_CLOSES 1181
/*! log: slot join atomic update races */
-#define WT_STAT_CONN_LOG_SLOT_RACES 1179
+#define WT_STAT_CONN_LOG_SLOT_RACES 1182
/*! log: slot join calls atomic updates raced */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1180
+#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1183
/*! log: slot join calls did not yield */
-#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1181
+#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1184
/*! log: slot join calls found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1182
+#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1185
/*! log: slot join calls slept */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1183
+#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1186
/*! log: slot join calls yielded */
-#define WT_STAT_CONN_LOG_SLOT_YIELD 1184
+#define WT_STAT_CONN_LOG_SLOT_YIELD 1187
/*! log: slot join found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1185
+#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1188
/*! log: slot joins yield time (usecs) */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1186
+#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1189
/*! log: slot transitions unable to find free slot */
-#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1187
+#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1190
/*! log: slot unbuffered writes */
-#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1188
+#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1191
/*! log: total in-memory size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_MEM 1189
+#define WT_STAT_CONN_LOG_COMPRESS_MEM 1192
/*! log: total log buffer size */
-#define WT_STAT_CONN_LOG_BUFFER_SIZE 1190
+#define WT_STAT_CONN_LOG_BUFFER_SIZE 1193
/*! log: total size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_LEN 1191
+#define WT_STAT_CONN_LOG_COMPRESS_LEN 1194
/*! log: written slots coalesced */
-#define WT_STAT_CONN_LOG_SLOT_COALESCED 1192
+#define WT_STAT_CONN_LOG_SLOT_COALESCED 1195
/*! log: yields waiting for previous log file close */
-#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1193
+#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1196
/*! reconciliation: fast-path pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1194
+#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1197
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_CONN_REC_PAGES 1195
+#define WT_STAT_CONN_REC_PAGES 1198
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_CONN_REC_PAGES_EVICTION 1196
+#define WT_STAT_CONN_REC_PAGES_EVICTION 1199
/*! reconciliation: pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE 1197
+#define WT_STAT_CONN_REC_PAGE_DELETE 1200
/*! reconciliation: split bytes currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1198
+#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1201
/*! reconciliation: split objects currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1199
+#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1202
/*! session: open cursor count */
-#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1200
+#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1203
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1201
+#define WT_STAT_CONN_SESSION_OPEN 1204
/*! session: table alter failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1202
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1205
/*! session: table alter successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1203
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1206
/*! session: table alter unchanged and skipped */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1204
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1207
/*! session: table compact failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1205
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1208
/*! session: table compact successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1206
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1209
/*! session: table create failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1207
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1210
/*! session: table create successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1208
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1211
/*! session: table drop failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1209
+#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1212
/*! session: table drop successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1210
+#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1213
/*! session: table rebalance failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1211
+#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1214
/*! session: table rebalance successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1212
+#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1215
/*! session: table rename failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1213
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1216
/*! session: table rename successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1214
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1217
/*! session: table salvage failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1215
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1218
/*! session: table salvage successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1216
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1219
/*! session: table truncate failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1217
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1220
/*! session: table truncate successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1218
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1221
/*! session: table verify failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1219
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1222
/*! session: table verify successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1220
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1223
/*! thread-state: active filesystem fsync calls */
-#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1221
+#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1224
/*! thread-state: active filesystem read calls */
-#define WT_STAT_CONN_THREAD_READ_ACTIVE 1222
+#define WT_STAT_CONN_THREAD_READ_ACTIVE 1225
/*! thread-state: active filesystem write calls */
-#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1223
+#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1226
/*! thread-yield: application thread time evicting (usecs) */
-#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1224
+#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1227
/*! thread-yield: application thread time waiting for cache (usecs) */
-#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1225
+#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1228
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1226
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1229
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1227
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1230
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1228
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1231
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1229
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1232
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1230
+#define WT_STAT_CONN_PAGE_SLEEP 1233
/*! transaction: number of named snapshots created */
-#define WT_STAT_CONN_TXN_SNAPSHOTS_CREATED 1231
+#define WT_STAT_CONN_TXN_SNAPSHOTS_CREATED 1234
/*! transaction: number of named snapshots dropped */
-#define WT_STAT_CONN_TXN_SNAPSHOTS_DROPPED 1232
+#define WT_STAT_CONN_TXN_SNAPSHOTS_DROPPED 1235
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1233
+#define WT_STAT_CONN_TXN_BEGIN 1236
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1234
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1237
/*! transaction: transaction checkpoint generation */
-#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1235
+#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1238
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1236
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1239
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1237
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1240
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1238
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1241
/*! transaction: transaction checkpoint scrub dirty target */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1239
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1242
/*! transaction: transaction checkpoint scrub time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1240
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1243
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1241
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1244
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1242
+#define WT_STAT_CONN_TXN_CHECKPOINT 1245
/*!
* transaction: transaction checkpoints skipped because database was
* clean
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1243
+#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1246
/*! transaction: transaction failures due to cache overflow */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1244
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1247
/*!
* transaction: transaction fsync calls for checkpoint after allocating
* the transaction ID
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1245
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1248
/*!
* transaction: transaction fsync duration for checkpoint after
* allocating the transaction ID (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1246
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1249
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1247
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1250
/*! transaction: transaction range of IDs currently pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1248
+#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1251
/*!
* transaction: transaction range of IDs currently pinned by named
* snapshots
*/
-#define WT_STAT_CONN_TXN_PINNED_SNAPSHOT_RANGE 1249
+#define WT_STAT_CONN_TXN_PINNED_SNAPSHOT_RANGE 1252
/*! transaction: transaction sync calls */
-#define WT_STAT_CONN_TXN_SYNC 1250
+#define WT_STAT_CONN_TXN_SYNC 1253
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1251
+#define WT_STAT_CONN_TXN_COMMIT 1254
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1252
+#define WT_STAT_CONN_TXN_ROLLBACK 1255
/*!
* @}
diff --git a/src/support/stat.c b/src/support/stat.c
index bc40244f5e6..061615c0931 100644
--- a/src/support/stat.c
+++ b/src/support/stat.c
@@ -690,7 +690,8 @@ static const char * const __stats_connection_desc[] = {
"cache: eviction worker thread evicting pages",
"cache: eviction worker thread removed",
"cache: eviction worker thread stable number",
- "cache: failed eviction of pages that exceeded the in-memory maximum",
+ "cache: failed eviction of pages that exceeded the in-memory maximum count",
+ "cache: failed eviction of pages that exceeded the in-memory maximum time (usecs)",
"cache: files with active eviction walks",
"cache: files with new eviction walks started",
"cache: force re-tuning of eviction workers once in a while",
@@ -714,8 +715,10 @@ static const char * const __stats_connection_desc[] = {
"cache: page split during eviction deepened the tree",
"cache: page written requiring lookaside records",
"cache: pages currently held in the cache",
- "cache: pages evicted because they exceeded the in-memory maximum",
- "cache: pages evicted because they had chains of deleted items",
+ "cache: pages evicted because they exceeded the in-memory maximum count",
+ "cache: pages evicted because they exceeded the in-memory maximum time (usecs)",
+ "cache: pages evicted because they had chains of deleted items count",
+ "cache: pages evicted because they had chains of deleted items time (usecs)",
"cache: pages evicted by application threads",
"cache: pages queued for eviction",
"cache: pages queued for urgent eviction",
@@ -986,6 +989,7 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
stats->cache_eviction_worker_removed = 0;
/* not clearing cache_eviction_stable_state_workers */
stats->cache_eviction_force_fail = 0;
+ stats->cache_eviction_force_fail_time = 0;
/* not clearing cache_eviction_walks_active */
stats->cache_eviction_walks_started = 0;
stats->cache_eviction_force_retune = 0;
@@ -1010,7 +1014,9 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
stats->cache_write_lookaside = 0;
/* not clearing cache_pages_inuse */
stats->cache_eviction_force = 0;
+ stats->cache_eviction_force_time = 0;
stats->cache_eviction_force_delete = 0;
+ stats->cache_eviction_force_delete_time = 0;
stats->cache_eviction_app = 0;
stats->cache_eviction_pages_queued = 0;
stats->cache_eviction_pages_queued_urgent = 0;
@@ -1280,6 +1286,8 @@ __wt_stat_connection_aggregate(
WT_STAT_READ(from, cache_eviction_stable_state_workers);
to->cache_eviction_force_fail +=
WT_STAT_READ(from, cache_eviction_force_fail);
+ to->cache_eviction_force_fail_time +=
+ WT_STAT_READ(from, cache_eviction_force_fail_time);
to->cache_eviction_walks_active +=
WT_STAT_READ(from, cache_eviction_walks_active);
to->cache_eviction_walks_started +=
@@ -1319,8 +1327,12 @@ __wt_stat_connection_aggregate(
WT_STAT_READ(from, cache_write_lookaside);
to->cache_pages_inuse += WT_STAT_READ(from, cache_pages_inuse);
to->cache_eviction_force += WT_STAT_READ(from, cache_eviction_force);
+ to->cache_eviction_force_time +=
+ WT_STAT_READ(from, cache_eviction_force_time);
to->cache_eviction_force_delete +=
WT_STAT_READ(from, cache_eviction_force_delete);
+ to->cache_eviction_force_delete_time +=
+ WT_STAT_READ(from, cache_eviction_force_delete_time);
to->cache_eviction_app += WT_STAT_READ(from, cache_eviction_app);
to->cache_eviction_pages_queued +=
WT_STAT_READ(from, cache_eviction_pages_queued);