diff options
author | Michael Cahill <michael.cahill@wiredtiger.com> | 2014-12-02 10:41:29 +1100 |
---|---|---|
committer | Michael Cahill <michael.cahill@wiredtiger.com> | 2014-12-02 10:41:29 +1100 |
commit | 5ee9cdd4aa0e78c9e3209567a3ef91304ff6a010 (patch) | |
tree | 26e873dd552751694302fd5e5a9606db3b742ef2 | |
parent | bf24e956ad294b84412e2e220d05d5840ada140e (diff) | |
parent | ded5a6347c07a8573cfa2e65b4cfd11cdc8304ab (diff) | |
download | mongo-5ee9cdd4aa0e78c9e3209567a3ef91304ff6a010.tar.gz |
Merge branch 'develop' into split-right
Conflicts:
src/include/wiredtiger.in
-rw-r--r-- | bench/wtperf/runners/log-append.wtperf | 8 | ||||
-rw-r--r-- | bench/wtperf/runners/log-nockpt.wtperf | 12 | ||||
-rw-r--r-- | bench/wtperf/runners/log.wtperf | 11 | ||||
-rw-r--r-- | bench/wtperf/wtperf_opt.i | 2 | ||||
-rw-r--r-- | dist/stat_data.py | 1 | ||||
-rw-r--r-- | src/btree/bt_evict.c | 3 | ||||
-rw-r--r-- | src/docs/wtperf.dox | 2 | ||||
-rw-r--r-- | src/include/stat.h | 1 | ||||
-rw-r--r-- | src/include/wiredtiger.in | 178 | ||||
-rw-r--r-- | src/support/stat.c | 3 |
10 files changed, 131 insertions, 90 deletions
diff --git a/bench/wtperf/runners/log-append.wtperf b/bench/wtperf/runners/log-append.wtperf new file mode 100644 index 00000000000..9d0a78e3c61 --- /dev/null +++ b/bench/wtperf/runners/log-append.wtperf @@ -0,0 +1,8 @@ +# wtperf options file: Test a log file with a multi-threaded +# append workload. +conn_config="cache_size=1G,log=(enabled=true,file_max=20MB),checkpoint=(log_size=1G)" +table_config="type=file" +icount=50000000 +report_interval=5 +run_time=0 +populate_threads=8 diff --git a/bench/wtperf/runners/log-nockpt.wtperf b/bench/wtperf/runners/log-nockpt.wtperf new file mode 100644 index 00000000000..a078cead740 --- /dev/null +++ b/bench/wtperf/runners/log-nockpt.wtperf @@ -0,0 +1,12 @@ +# wtperf options file: Test performance with a log file enabled. +# Set the log file reasonably small to catch log-swtich bottle +# necks. +conn_config="cache_size=1G,log=(enabled=true,file_max=20MB)" +table_config="type=file" +icount=50000 +report_interval=5 +run_time=40 +populate_threads=1 +random_range=50000000 +threads=((count=8,inserts=1)) + diff --git a/bench/wtperf/runners/log.wtperf b/bench/wtperf/runners/log.wtperf new file mode 100644 index 00000000000..c336c9d8a5f --- /dev/null +++ b/bench/wtperf/runners/log.wtperf @@ -0,0 +1,11 @@ +# wtperf options file: Test performance with a log file enabled. +# Set the log file reasonably small to catch log-swtich bottle +# necks. +conn_config="cache_size=1G,log=(enabled=true,file_max=20MB),checkpoint=(log_size=1G)" +table_config="type=file" +icount=50000 +report_interval=5 +run_time=120 +populate_threads=1 +random_range=50000000 +threads=((count=8,inserts=1)) diff --git a/bench/wtperf/wtperf_opt.i b/bench/wtperf/wtperf_opt.i index 3b4ddb6b3ad..3fec9bddac9 100644 --- a/bench/wtperf/wtperf_opt.i +++ b/bench/wtperf/wtperf_opt.i @@ -105,7 +105,7 @@ DEF_OPT_AS_UINT32(database_count, 1, " threads") DEF_OPT_AS_UINT32(icount, 5000, "number of records to initially populate. If multiple tables are " - "configured, each table has this many items inserted.") + "configured the count is spread evenly across all tables.") DEF_OPT_AS_BOOL(insert_rmw, 0, "execute a read prior to each insert in workload phase") DEF_OPT_AS_UINT32(key_sz, 20, "key size") diff --git a/dist/stat_data.py b/dist/stat_data.py index 9fa1fc5b158..1e4f1b41cb9 100644 --- a/dist/stat_data.py +++ b/dist/stat_data.py @@ -148,6 +148,7 @@ connection_stats = [ 'maximum bytes configured', 'no_clear,no_scale'), CacheStat('cache_bytes_read', 'bytes read into cache'), CacheStat('cache_bytes_write', 'bytes written from cache'), + CacheStat('cache_eviction_app', 'pages evicted by application threads'), CacheStat('cache_eviction_clean', 'unmodified pages evicted'), CacheStat('cache_eviction_deepen', 'page split during eviction deepened the tree'), diff --git a/src/btree/bt_evict.c b/src/btree/bt_evict.c index 2d3da44fe28..2af9f0024db 100644 --- a/src/btree/bt_evict.c +++ b/src/btree/bt_evict.c @@ -1266,6 +1266,9 @@ __wt_evict_lru_page(WT_SESSION_IMPL *session, int is_app) WT_PAGE *page; WT_REF *ref; + if (is_app) + WT_STAT_FAST_CONN_INCR(session, cache_eviction_app); + WT_RET(__evict_get_ref(session, is_app, &btree, &ref)); WT_ASSERT(session, ref->state == WT_REF_LOCKED); diff --git a/src/docs/wtperf.dox b/src/docs/wtperf.dox index f07ce13f80c..b0139286ab4 100644 --- a/src/docs/wtperf.dox +++ b/src/docs/wtperf.dox @@ -161,7 +161,7 @@ workload using a separate home directory and complete set of worker threads @par icount (unsigned int, default=5000) number of records to initially populate. If multiple tables are -configured, each table has this many items inserted. +configured the count is spread evenly across all tables. @par insert_rmw (boolean, default=false) execute a read prior to each insert in workload phase @par key_sz (unsigned int, default=20) diff --git a/src/include/stat.h b/src/include/stat.h index 2baf6a07be3..879394e2cc5 100644 --- a/src/include/stat.h +++ b/src/include/stat.h @@ -156,6 +156,7 @@ struct __wt_connection_stats { WT_STATS cache_bytes_max; WT_STATS cache_bytes_read; WT_STATS cache_bytes_write; + WT_STATS cache_eviction_app; WT_STATS cache_eviction_checkpoint; WT_STATS cache_eviction_clean; WT_STATS cache_eviction_deepen; diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in index 5f77e528e49..6edbe55197e 100644 --- a/src/include/wiredtiger.in +++ b/src/include/wiredtiger.in @@ -3104,182 +3104,184 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_BYTES_READ 1023 /*! cache: bytes written from cache */ #define WT_STAT_CONN_CACHE_BYTES_WRITE 1024 +/*! cache: pages evicted by application threads */ +#define WT_STAT_CONN_CACHE_EVICTION_APP 1025 /*! cache: checkpoint blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_CHECKPOINT 1025 +#define WT_STAT_CONN_CACHE_EVICTION_CHECKPOINT 1026 /*! cache: unmodified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1026 +#define WT_STAT_CONN_CACHE_EVICTION_CLEAN 1027 /*! cache: page split during eviction deepened the tree */ -#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1027 +#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN 1028 /*! cache: modified pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1028 +#define WT_STAT_CONN_CACHE_EVICTION_DIRTY 1029 /*! cache: pages selected for eviction unable to be evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1029 +#define WT_STAT_CONN_CACHE_EVICTION_FAIL 1030 /*! cache: pages evicted because they exceeded the in-memory maximum */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1030 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE 1031 /*! cache: failed eviction of pages that exceeded the in-memory maximum */ -#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1031 +#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL 1032 /*! cache: hazard pointer blocked page eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1032 +#define WT_STAT_CONN_CACHE_EVICTION_HAZARD 1033 /*! cache: internal pages evicted */ -#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1033 +#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL 1034 /*! cache: eviction server candidate queue empty when topping up */ -#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1034 +#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY 1035 /*! cache: eviction server candidate queue not empty when topping up */ -#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1035 +#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1036 /*! cache: eviction server evicting pages */ -#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1036 +#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1037 /*! cache: eviction server populating queue, but not evicting pages */ -#define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1037 +#define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1038 /*! cache: eviction server unable to reach eviction goal */ -#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1038 +#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1039 /*! cache: pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT 1039 +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT 1040 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1040 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1041 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1041 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1042 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1042 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1043 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1043 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1044 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1044 +#define WT_STAT_CONN_CACHE_READ 1045 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1045 +#define WT_STAT_CONN_CACHE_WRITE 1046 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1046 +#define WT_STAT_CONN_COND_WAIT 1047 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1047 +#define WT_STAT_CONN_CURSOR_CREATE 1048 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1048 +#define WT_STAT_CONN_CURSOR_INSERT 1049 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1049 +#define WT_STAT_CONN_CURSOR_NEXT 1050 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1050 +#define WT_STAT_CONN_CURSOR_PREV 1051 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1051 +#define WT_STAT_CONN_CURSOR_REMOVE 1052 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1052 +#define WT_STAT_CONN_CURSOR_RESET 1053 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1053 +#define WT_STAT_CONN_CURSOR_SEARCH 1054 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1054 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1055 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1055 +#define WT_STAT_CONN_CURSOR_UPDATE 1056 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1056 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1057 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1057 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1058 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1058 +#define WT_STAT_CONN_FILE_OPEN 1059 /*! log: log buffer size increases */ -#define WT_STAT_CONN_LOG_BUFFER_GROW 1059 +#define WT_STAT_CONN_LOG_BUFFER_GROW 1060 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1060 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1061 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1061 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1062 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1062 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1063 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1063 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1064 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1064 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1065 /*! log: log read operations */ -#define WT_STAT_CONN_LOG_READS 1065 +#define WT_STAT_CONN_LOG_READS 1066 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1066 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1067 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1067 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1068 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1068 +#define WT_STAT_CONN_LOG_SCANS 1069 /*! log: consolidated slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1069 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1070 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1070 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1071 /*! log: consolidated slot joins */ -#define WT_STAT_CONN_LOG_SLOT_JOINS 1071 +#define WT_STAT_CONN_LOG_SLOT_JOINS 1072 /*! log: consolidated slot join races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1072 +#define WT_STAT_CONN_LOG_SLOT_RACES 1073 /*! log: slots selected for switching that were unavailable */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1073 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1074 /*! log: record size exceeded maximum */ -#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1074 +#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1075 /*! log: failed to find a slot large enough for record */ -#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1075 +#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1076 /*! log: consolidated slot join transitions */ -#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1076 +#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1077 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1077 +#define WT_STAT_CONN_LOG_SYNC 1078 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1078 +#define WT_STAT_CONN_LOG_WRITES 1079 /*! LSM: sleep for LSM checkpoint throttle */ -#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1079 +#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1080 /*! LSM: sleep for LSM merge throttle */ -#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1080 +#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1081 /*! LSM: rows merged in an LSM tree */ -#define WT_STAT_CONN_LSM_ROWS_MERGED 1081 +#define WT_STAT_CONN_LSM_ROWS_MERGED 1082 /*! LSM: application work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1082 +#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1083 /*! LSM: merge work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1083 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1084 /*! LSM: tree queue hit maximum */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1084 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1085 /*! LSM: switch work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1085 +#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1086 /*! LSM: tree maintenance operations scheduled */ -#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1086 +#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1087 /*! LSM: tree maintenance operations discarded */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1087 +#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1088 /*! LSM: tree maintenance operations executed */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1088 +#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1089 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1089 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1090 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1090 +#define WT_STAT_CONN_MEMORY_FREE 1091 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1091 +#define WT_STAT_CONN_MEMORY_GROW 1092 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1092 +#define WT_STAT_CONN_READ_IO 1093 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1093 +#define WT_STAT_CONN_REC_PAGES 1094 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1094 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1095 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1095 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1096 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1096 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1097 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1097 +#define WT_STAT_CONN_RWLOCK_READ 1098 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1098 +#define WT_STAT_CONN_RWLOCK_WRITE 1099 /*! session: open cursor count */ -#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1099 +#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1100 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1100 +#define WT_STAT_CONN_SESSION_OPEN 1101 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1101 +#define WT_STAT_CONN_TXN_BEGIN 1102 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1102 +#define WT_STAT_CONN_TXN_CHECKPOINT 1103 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1103 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1104 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1104 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1105 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1105 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1106 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1106 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1107 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1107 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1108 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1108 +#define WT_STAT_CONN_TXN_COMMIT 1109 /*! transaction: transaction failures due to cache overflow */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1109 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1110 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1110 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1111 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1111 +#define WT_STAT_CONN_TXN_ROLLBACK 1112 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1112 +#define WT_STAT_CONN_WRITE_IO 1113 /*! * @} diff --git a/src/support/stat.c b/src/support/stat.c index c6aa4fff6a7..ac0b854c9df 100644 --- a/src/support/stat.c +++ b/src/support/stat.c @@ -373,6 +373,8 @@ __wt_stat_init_connection_stats(WT_CONNECTION_STATS *stats) "cache: pages currently held in the cache"; stats->cache_eviction_force.desc = "cache: pages evicted because they exceeded the in-memory maximum"; + stats->cache_eviction_app.desc = + "cache: pages evicted by application threads"; stats->cache_read.desc = "cache: pages read into cache"; stats->cache_eviction_fail.desc = "cache: pages selected for eviction unable to be evicted"; @@ -520,6 +522,7 @@ __wt_stat_refresh_connection_stats(void *stats_arg) stats->cache_eviction_dirty.v = 0; stats->cache_eviction_deepen.v = 0; stats->cache_eviction_force.v = 0; + stats->cache_eviction_app.v = 0; stats->cache_read.v = 0; stats->cache_eviction_fail.v = 0; stats->cache_eviction_split.v = 0; |