summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2018-01-05 22:07:41 +1100
committerLuke Chen <luke.chen@mongodb.com>2018-01-05 22:07:41 +1100
commitbd9ed5bbe07754221ad014dceefc0ebdb0ecab32 (patch)
tree622a3cc94249954a7bf0757231c40792c9ef5378 /src/third_party/wiredtiger/dist
parent2158ea8d6c84c9a68b50f76c9dd23b8a193b65f8 (diff)
downloadmongo-bd9ed5bbe07754221ad014dceefc0ebdb0ecab32.tar.gz
Import wiredtiger: 9e5044823185feffa71e56a6593cfb92e0741a41 from branch mongodb-3.8
ref: 1a29eac4dc..9e50448231 for: 3.7.1 WT-2705 High throughput cache bound many threaded workloads can experience long latencies WT-3725 Add statistics to locks around timestamp structures WT-3750 Fast-path fs_directory_list of a single file. WT-3768 Lookaside optimization: birthmarks WT-3769 Fix a bug in reverse cursor walks with particular delete patterns and prefix compression enabled WT-3779 Add support for string formats with WT_CURSOR::modify WT-3800 test_wt2834_join_bloom_fix hang WT-3806 Make sure rdtsc values move forward in time WT-3807 clang static analysis updates WT-3810 wt_rdtsc calibration needs to be longer and verify validity WT-3812 debugging page output should handle complex key/value items. WT-3816 Enable prefix compression on the lookaside table WT-3819 clang static analysis improvements WT-3820 Add a WT_SESSION.breakpoint method for Python debugging. WT-3822 Update WiredTiger copyrights to 2018 WT-3824 tsc_nsec_ratio can compute to zero and cause divide by zero bug
Diffstat (limited to 'src/third_party/wiredtiger/dist')
-rw-r--r--src/third_party/wiredtiger/dist/api_data.py2
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_c_test_create2
-rw-r--r--src/third_party/wiredtiger/dist/s_clang-scan50
-rw-r--r--src/third_party/wiredtiger/dist/s_clang-tidy84
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_copyright3
-rw-r--r--src/third_party/wiredtiger/dist/s_define.list7
-rw-r--r--src/third_party/wiredtiger/dist/s_funcs.list1
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_stat12
-rw-r--r--src/third_party/wiredtiger/dist/s_string.ok1
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_void1
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py65
11 files changed, 216 insertions, 12 deletions
diff --git a/src/third_party/wiredtiger/dist/api_data.py b/src/third_party/wiredtiger/dist/api_data.py
index ac4e80aedcf..c0afe3ae041 100644
--- a/src/third_party/wiredtiger/dist/api_data.py
+++ b/src/third_party/wiredtiger/dist/api_data.py
@@ -550,7 +550,7 @@ connection_runtime_config = [
Maintain database statistics, which may impact performance.
Choosing "all" maintains all statistics regardless of cost,
"fast" maintains a subset of statistics that are relatively
- inexpensive, "none" turns off all statistics. The "clear"
+ inexpensive, "none" turns off all statistics. The "clear"
configuration resets statistics after they are gathered,
where appropriate (for example, a cache size statistic is
not cleared, while the count of cursor insert operations will
diff --git a/src/third_party/wiredtiger/dist/s_c_test_create b/src/third_party/wiredtiger/dist/s_c_test_create
index 1d379664e75..66d1e24ec87 100755
--- a/src/third_party/wiredtiger/dist/s_c_test_create
+++ b/src/third_party/wiredtiger/dist/s_c_test_create
@@ -35,7 +35,7 @@ mkdir $CSUITE_DIRECTORY/$TEST_NAME
(cat <<EOF
/*-
- * Public Domain 2014-2017 MongoDB, Inc.
+ * Public Domain 2014-2018 MongoDB, Inc.
* Public Domain 2008-2014 WiredTiger, Inc.
*
* This is free and unencumbered software released into the public domain.
diff --git a/src/third_party/wiredtiger/dist/s_clang-scan b/src/third_party/wiredtiger/dist/s_clang-scan
new file mode 100644
index 00000000000..33d6f3e7d9e
--- /dev/null
+++ b/src/third_party/wiredtiger/dist/s_clang-scan
@@ -0,0 +1,50 @@
+#! /bin/sh
+
+t=__wt.$$
+trap 'rm -rf $t /tmp/scan-build-*' 0 1 2 3 13 15
+
+# Installation of the clang development package isn't standard, list a
+# couple of the places we're using.
+export PATH=$PATH:/usr/local/clang50/bin:/usr/local/llvm-devel/bin
+
+# Remove old reports.
+rm -rf /tmp/scan-build-*
+
+# Find the top-level WiredTiger directory and move to there.
+p="$PWD"
+while test "$p" != "/" ; do
+ if test -d "$p/build_posix"; then
+ break;
+ fi
+ p=`dirname $p`
+done
+test "$p" != "/" || {
+ echo "$0: cannot find the WiredTiger top-level directory"
+ exit 1
+}
+
+cd $p || exit 1
+echo "$0: running scan-build in $p..."
+
+sh autogen.sh > /dev/null || exit 1
+
+args="--use-cc=clang40 -no-failure-reports"
+args="$args -disable-checker core.NullDereference"
+scan-build $args ./configure 'CFLAGS=-g -Wall' \
+ --disable-shared --enable-diagnostic --enable-strict > /dev/null
+scan-build $args make -j 8 wt 2>&1 > $t
+
+make -j 8 distclean > /dev/null
+
+grep 'No bugs found' $t > /dev/null || {
+ echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
+ echo 'unexpected scan-build output'
+ echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
+ sed -e '/^--- /d' \
+ -e '/^\/bin\/sh /d' \
+ -e '/^depbase=/d' \
+ -e '/^libtool: /d' < $t
+ exit 1
+}
+
+exit 0
diff --git a/src/third_party/wiredtiger/dist/s_clang-tidy b/src/third_party/wiredtiger/dist/s_clang-tidy
new file mode 100644
index 00000000000..209d6f7d5d5
--- /dev/null
+++ b/src/third_party/wiredtiger/dist/s_clang-tidy
@@ -0,0 +1,84 @@
+#! /bin/sh
+
+t=__wt.$$
+trap 'rm -rf $t' 0 1 2 3 13 15
+
+# Installation of the clang development package isn't standard, list a
+# couple of the places we're using.
+export PATH=$PATH:/usr/local/clang50/bin:/usr/local/llvm-devel/bin
+
+# Remove old reports.
+rm -rf /tmp/scan-build-*
+
+# Find the top-level WiredTiger directory and move to there.
+p="$PWD"
+while test "$p" != "/" ; do
+ if test -d "$p/build_posix"; then
+ break;
+ fi
+ p=`dirname $p`
+done
+test "$p" != "/" || {
+ echo "$0: cannot find the WiredTiger top-level directory"
+ exit 1
+}
+
+cd $p || exit 1
+echo "$0: running clang-tidy in $p..."
+
+sh autogen.sh > /dev/null || exit 1
+
+./configure --enable-diagnostic --enable-strict > /dev/null
+
+# We need a custom wiredtiger_config.h, clang-tidy doesn't know where to
+# find the x86intrin.h include file.
+echo '!!!!'
+echo 'Modifying wiredtiger_config.h'
+echo '!!!!'
+cp wiredtiger_config.h $t
+sed '/HAVE_X86INTRIN_H/d' < $t > wiredtiger_config.h
+
+# XXX
+# clang-tidy doesn't like verify_build at the moment.
+echo '!!!!'
+echo 'Modifying src/include/verify_build.h'
+echo '!!!!'
+echo '#define WT_STATIC_ASSERT(a)' > src/include/verify_build.h
+
+def="-D_GNU_SOURCE"
+inc="-I. -Isrc/include"
+
+args="-checks=*"
+args="$args,-android-cloexec-fopen"
+args="$args,-clang-analyzer-core.NullDereference"
+args="$args,-clang-analyzer-optin.performance.Padding"
+args="$args,-google-readability-braces-around-statements"
+args="$args,-hicpp-braces-around-statements"
+args="$args,-hicpp-no-assembler"
+args="$args,-hicpp-signed-bitwise"
+args="$args,-llvm-header-guard"
+args="$args,-llvm-include-order"
+args="$args,-readability-braces-around-statements"
+args="$args,-readability-inconsistent-declaration-parameter-name"
+args="$args,-readability-named-parameter"
+args="$args,-readability-non-const-parameter"
+
+# clang-tidy gets unhappy if we toss the whole tree at it, so run
+# through a file at a time.
+# Only specify -header once.
+(
+clang-tidy src/btree/bt_compact.c \
+ "-header-filter=.*" "$args" -- $def $inc 2>&1
+for i in src/[a-np-z]*/*.c src/os_posix/*.c; do
+ clang-tidy $i "$args" -- $def $inc 2>&1
+done
+) > $t
+
+echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
+echo 'clang-tidy output'
+echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
+sed -e '/ warnings generated/d' \
+ -e '/Suppressed.*warnings/d' \
+ -e '/Use -header-filter/d' < $t
+
+exit 0
diff --git a/src/third_party/wiredtiger/dist/s_copyright b/src/third_party/wiredtiger/dist/s_copyright
index 4a93be73fb6..170dba3efff 100755
--- a/src/third_party/wiredtiger/dist/s_copyright
+++ b/src/third_party/wiredtiger/dist/s_copyright
@@ -110,7 +110,8 @@ fi
-o -name '*.cxx' \
-o -name '*.in' \
-o -name '*.java' \
- -o -name '*.py' |
+ -o -name '*.py' \
+ -o -name '*.swig' |
sed -e '/Makefile.in/d' \
-e '/^build_posix\//d' \
-e '/api\/leveldb\/basho\//d' \
diff --git a/src/third_party/wiredtiger/dist/s_define.list b/src/third_party/wiredtiger/dist/s_define.list
index 5a5af9dd5d7..16f06da383c 100644
--- a/src/third_party/wiredtiger/dist/s_define.list
+++ b/src/third_party/wiredtiger/dist/s_define.list
@@ -13,6 +13,7 @@ TXN_API_END
WIN32_LEAN_AND_MEAN
WT_ALIGN_CHECK
WT_ATOMIC_CAS
+WT_ATOMIC_CAS_FUNC
WT_ATOMIC_FUNC
WT_BLOCK_DESC_SIZE
WT_BLOCK_HEADER_SIZE
@@ -22,8 +23,6 @@ WT_CACHE_LINE_PAD_END
WT_CONN_CHECK_PANIC
WT_DEADLOCK
WT_DEBUG_BYTE
-WT_SINGLE_THREAD_CHECK_START
-WT_SINGLE_THREAD_CHECK_STOP
WT_ERR_ERROR_OK
WT_EXT_FOREACH_OFF
WT_HANDLE_CLOSED
@@ -47,6 +46,8 @@ WT_SESSION_LOCKED_CHECKPOINT
WT_SESSION_LOCKED_TABLE_READ
WT_SESSION_LOCKED_TABLE_WRITE
WT_SESSION_LOCKED_TURTLE
+WT_SINGLE_THREAD_CHECK_START
+WT_SINGLE_THREAD_CHECK_STOP
WT_SIZE_CHECK
WT_STATS_FIELD_TO_OFFSET
WT_STATS_SLOT_ID
@@ -62,11 +63,11 @@ WT_STAT_INCRV_ATOMIC_BASE
WT_STAT_INCRV_BASE
WT_STAT_WRITE
WT_TIMEDIFF_US
-WT_TSCDIFF_NS
WT_TRACK_OP
WT_TRACK_OP_END
WT_TRACK_OP_INIT
WT_TRET_ERROR_OK
+WT_TSCDIFF_NS
WT_UPDATE_SIZE
WT_WITH_LOCK_NOWAIT
WT_WITH_LOCK_WAIT
diff --git a/src/third_party/wiredtiger/dist/s_funcs.list b/src/third_party/wiredtiger/dist/s_funcs.list
index 42eacf9c068..a7653e5b497 100644
--- a/src/third_party/wiredtiger/dist/s_funcs.list
+++ b/src/third_party/wiredtiger/dist/s_funcs.list
@@ -27,6 +27,7 @@ __wt_log_scan
__wt_nlpo2
__wt_nlpo2_round
__wt_print_huffman_code
+__wt_session_breakpoint
__wt_stat_join_aggregate
__wt_stat_join_clear_all
__wt_stream_set_no_buffer
diff --git a/src/third_party/wiredtiger/dist/s_stat b/src/third_party/wiredtiger/dist/s_stat
index cf9303e5f95..32cf16fd3d4 100755
--- a/src/third_party/wiredtiger/dist/s_stat
+++ b/src/third_party/wiredtiger/dist/s_stat
@@ -25,6 +25,10 @@ cat << UNUSED_STAT_FIELDS
lock_checkpoint_count
lock_checkpoint_wait_application
lock_checkpoint_wait_internal
+lock_commit_timestamp_read_count
+lock_commit_timestamp_wait_application
+lock_commit_timestamp_wait_internal
+lock_commit_timestamp_write_count
lock_dhandle_read_count
lock_dhandle_wait_application
lock_dhandle_wait_internal
@@ -32,6 +36,10 @@ lock_dhandle_write_count
lock_metadata_count
lock_metadata_wait_application
lock_metadata_wait_internal
+lock_read_timestamp_read_count
+lock_read_timestamp_wait_application
+lock_read_timestamp_wait_internal
+lock_read_timestamp_write_count
lock_schema_count
lock_schema_wait_application
lock_schema_wait_internal
@@ -39,6 +47,10 @@ lock_table_read_count
lock_table_wait_application
lock_table_wait_internal
lock_table_write_count
+lock_txn_global_read_count
+lock_txn_global_wait_application
+lock_txn_global_wait_internal
+lock_txn_global_write_count
UNUSED_STAT_FIELDS
echo "$search"
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok
index 80f6bdca186..1f025013fe7 100644
--- a/src/third_party/wiredtiger/dist/s_string.ok
+++ b/src/third_party/wiredtiger/dist/s_string.ok
@@ -996,6 +996,7 @@ nsnap
nul
nullptr
nuls
+num
numSymbols
numbare
offpage
diff --git a/src/third_party/wiredtiger/dist/s_void b/src/third_party/wiredtiger/dist/s_void
index 78a3340e3bf..4a0e73e1c0d 100755
--- a/src/third_party/wiredtiger/dist/s_void
+++ b/src/third_party/wiredtiger/dist/s_void
@@ -64,6 +64,7 @@ func_ok()
-e '/int __wt_lsm_manager_pop_entry$/d' \
-e '/int __wt_once$/d' \
-e '/int __wt_posix_directory_list_free$/d' \
+ -e '/int __wt_session_breakpoint$/d' \
-e '/int __wt_spin_init$/d' \
-e '/int __wt_spin_trylock$/d' \
-e '/int __wt_stat_connection_desc$/d' \
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index bbb581e904e..9c828f66cef 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -84,6 +84,10 @@ class LSMStat(Stat):
prefix = 'LSM'
def __init__(self, name, desc, flags=''):
Stat.__init__(self, name, LSMStat.prefix, desc, flags)
+class PerfHistStat(Stat):
+ prefix = 'perf'
+ def __init__(self, name, desc, flags=''):
+ Stat.__init__(self, name, PerfHistStat.prefix, desc, flags)
class RecStat(Stat):
prefix = 'reconciliation'
def __init__(self, name, desc, flags=''):
@@ -128,6 +132,7 @@ groups['memory'] = [
groups['system'] = [
ConnStat.prefix,
DhandleStat.prefix,
+ PerfHistStat.prefix,
SessionStat.prefix,
ThreadStat.prefix
]
@@ -309,6 +314,10 @@ connection_stats = [
LockStat('lock_checkpoint_count', 'checkpoint lock acquisitions'),
LockStat('lock_checkpoint_wait_application', 'checkpoint lock application thread wait time (usecs)'),
LockStat('lock_checkpoint_wait_internal', 'checkpoint lock internal thread wait time (usecs)'),
+ LockStat('lock_commit_timestamp_read_count', 'commit timestamp queue read lock acquisitions'),
+ LockStat('lock_commit_timestamp_wait_application', 'commit timestamp queue lock application thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_commit_timestamp_wait_internal', 'commit timestamp queue lock internal thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_commit_timestamp_write_count', 'commit timestamp queue write lock acquisitions'),
LockStat('lock_dhandle_read_count', 'dhandle read lock acquisitions'),
LockStat('lock_dhandle_wait_application', 'dhandle lock application thread time waiting for the dhandle lock (usecs)'),
LockStat('lock_dhandle_wait_internal', 'dhandle lock internal thread time waiting for the dhandle lock (usecs)'),
@@ -316,6 +325,10 @@ connection_stats = [
LockStat('lock_metadata_count', 'metadata lock acquisitions'),
LockStat('lock_metadata_wait_application', 'metadata lock application thread wait time (usecs)'),
LockStat('lock_metadata_wait_internal', 'metadata lock internal thread wait time (usecs)'),
+ LockStat('lock_read_timestamp_read_count', 'read timestamp queue read lock acquisitions'),
+ LockStat('lock_read_timestamp_wait_application', 'read timestamp queue lock application thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_read_timestamp_wait_internal', 'read timestamp queue lock internal thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_read_timestamp_write_count', 'read timestamp queue write lock acquisitions'),
LockStat('lock_schema_count', 'schema lock acquisitions'),
LockStat('lock_schema_wait_application', 'schema lock application thread wait time (usecs)'),
LockStat('lock_schema_wait_internal', 'schema lock internal thread wait time (usecs)'),
@@ -323,6 +336,10 @@ connection_stats = [
LockStat('lock_table_wait_application', 'table lock application thread time waiting for the table lock (usecs)'),
LockStat('lock_table_wait_internal', 'table lock internal thread time waiting for the table lock (usecs)'),
LockStat('lock_table_write_count', 'table write lock acquisitions'),
+ LockStat('lock_txn_global_read_count', 'txn global read lock acquisitions'),
+ LockStat('lock_txn_global_wait_application', 'txn global lock application thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_txn_global_wait_internal', 'txn global lock internal thread time waiting for the dhandle lock (usecs)'),
+ LockStat('lock_txn_global_write_count', 'txn global write lock acquisitions'),
##########################################
# Logging statistics
@@ -389,6 +406,32 @@ connection_stats = [
LSMStat('lsm_work_units_done', 'tree maintenance operations executed'),
##########################################
+ # Performance Histogram Stats
+ ##########################################
+ PerfHistStat('perf_hist_fsread_latency_gt1000', 'file system read latency histogram (bucket 6) - 1000ms+'),
+ PerfHistStat('perf_hist_fsread_latency_lt50', 'file system read latency histogram (bucket 1) - 10-49ms'),
+ PerfHistStat('perf_hist_fsread_latency_lt100', 'file system read latency histogram (bucket 2) - 50-99ms'),
+ PerfHistStat('perf_hist_fsread_latency_lt250', 'file system read latency histogram (bucket 3) - 100-249ms'),
+ PerfHistStat('perf_hist_fsread_latency_lt500', 'file system read latency histogram (bucket 4) - 250-499ms'),
+ PerfHistStat('perf_hist_fsread_latency_lt1000', 'file system read latency histogram (bucket 5) - 500-999ms'),
+ PerfHistStat('perf_hist_fswrite_latency_gt1000', 'file system write latency histogram (bucket 6) - 1000ms+'),
+ PerfHistStat('perf_hist_fswrite_latency_lt50', 'file system write latency histogram (bucket 1) - 10-49ms'),
+ PerfHistStat('perf_hist_fswrite_latency_lt100', 'file system write latency histogram (bucket 2) - 50-99ms'),
+ PerfHistStat('perf_hist_fswrite_latency_lt250', 'file system write latency histogram (bucket 3) - 100-249ms'),
+ PerfHistStat('perf_hist_fswrite_latency_lt500', 'file system write latency histogram (bucket 4) - 250-499ms'),
+ PerfHistStat('perf_hist_fswrite_latency_lt1000', 'file system write latency histogram (bucket 5) - 500-999ms'),
+ PerfHistStat('perf_hist_opread_latency_gt10000', 'operation read latency histogram (bucket 5) - 10000us+'),
+ PerfHistStat('perf_hist_opread_latency_lt250', 'operation read latency histogram (bucket 1) - 100-249us'),
+ PerfHistStat('perf_hist_opread_latency_lt500', 'operation read latency histogram (bucket 2) - 250-499us'),
+ PerfHistStat('perf_hist_opread_latency_lt1000', 'operation read latency histogram (bucket 3) - 500-999us'),
+ PerfHistStat('perf_hist_opread_latency_lt10000', 'operation read latency histogram (bucket 4) - 1000-9999us'),
+ PerfHistStat('perf_hist_opwrite_latency_gt10000', 'operation write latency histogram (bucket 5) - 10000us+'),
+ PerfHistStat('perf_hist_opwrite_latency_lt250', 'operation write latency histogram (bucket 1) - 100-249us'),
+ PerfHistStat('perf_hist_opwrite_latency_lt500', 'operation write latency histogram (bucket 2) - 250-499us'),
+ PerfHistStat('perf_hist_opwrite_latency_lt1000', 'operation write latency histogram (bucket 3) - 500-999us'),
+ PerfHistStat('perf_hist_opwrite_latency_lt10000', 'operation write latency histogram (bucket 4) - 1000-9999us'),
+
+##########################################
# Reconciliation statistics
##########################################
RecStat('rec_page_delete', 'pages deleted'),
@@ -447,19 +490,29 @@ connection_stats = [
TxnStat('txn_checkpoint_time_recent', 'transaction checkpoint most recent time (msecs)', 'no_clear,no_scale'),
TxnStat('txn_checkpoint_time_total', 'transaction checkpoint total time (msecs)', 'no_clear,no_scale'),
TxnStat('txn_commit', 'transactions committed'),
- TxnStat('txn_commit_queue_head', 'transactions commit timestamp queue inserts to head'),
- TxnStat('txn_commit_queue_inserts', 'transactions commit timestamp queue inserts total'),
- TxnStat('txn_commit_queue_len', 'transactions commit timestamp queue length'),
+ TxnStat('txn_commit_queue_empty', 'commit timestamp queue insert to empty'),
+ TxnStat('txn_commit_queue_head', 'commit timestamp queue inserts to head'),
+ TxnStat('txn_commit_queue_inserts', 'commit timestamp queue inserts total'),
+ TxnStat('txn_commit_queue_len', 'commit timestamp queue length'),
TxnStat('txn_fail_cache', 'transaction failures due to cache overflow'),
TxnStat('txn_pinned_checkpoint_range', 'transaction range of IDs currently pinned by a checkpoint', 'no_clear,no_scale'),
TxnStat('txn_pinned_range', 'transaction range of IDs currently pinned', 'no_clear,no_scale'),
TxnStat('txn_pinned_snapshot_range', 'transaction range of IDs currently pinned by named snapshots', 'no_clear,no_scale'),
TxnStat('txn_pinned_timestamp', 'transaction range of timestamps currently pinned', 'no_clear,no_scale'),
TxnStat('txn_pinned_timestamp_oldest', 'transaction range of timestamps pinned by the oldest timestamp', 'no_clear,no_scale'),
- TxnStat('txn_read_queue_head', 'transactions read timestamp queue inserts to head'),
- TxnStat('txn_read_queue_inserts', 'transactions read timestamp queue inserts total'),
- TxnStat('txn_read_queue_len', 'transactions read timestamp queue length'),
+ TxnStat('txn_query_ts', 'query timestamp calls'),
+ TxnStat('txn_read_queue_empty', 'read timestamp queue insert to empty'),
+ TxnStat('txn_read_queue_head', 'read timestamp queue inserts to head'),
+ TxnStat('txn_read_queue_inserts', 'read timestamp queue inserts total'),
+ TxnStat('txn_read_queue_len', 'read timestamp queue length'),
TxnStat('txn_rollback', 'transactions rolled back'),
+ TxnStat('txn_set_ts', 'set timestamp calls'),
+ TxnStat('txn_set_ts_commit', 'set timestamp commit calls'),
+ TxnStat('txn_set_ts_commit_upd', 'set timestamp commit updates'),
+ TxnStat('txn_set_ts_oldest', 'set timestamp oldest calls'),
+ TxnStat('txn_set_ts_oldest_upd', 'set timestamp oldest updates'),
+ TxnStat('txn_set_ts_stable', 'set timestamp stable calls'),
+ TxnStat('txn_set_ts_stable_upd', 'set timestamp stable updates'),
TxnStat('txn_snapshots_created', 'number of named snapshots created'),
TxnStat('txn_snapshots_dropped', 'number of named snapshots dropped'),
TxnStat('txn_sync', 'transaction sync calls'),