summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/support/stat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/support/stat.c')
-rw-r--r--src/third_party/wiredtiger/src/support/stat.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c
index 52db5e50094..d224baab653 100644
--- a/src/third_party/wiredtiger/src/support/stat.c
+++ b/src/third_party/wiredtiger/src/support/stat.c
@@ -52,6 +52,14 @@ static const char *const __stats_dsrc_desc[] = {
"cache: checkpoint blocked page eviction",
"cache: checkpoint of history store file blocked non-history store page eviction",
"cache: data source pages selected for eviction unable to be evicted",
+ "cache: eviction gave up due to detecting an out of order on disk value behind the last update "
+ "on the chain",
+ "cache: eviction gave up due to detecting an out of order tombstone ahead of the selected on "
+ "disk update",
+ "cache: eviction gave up due to detecting an out of order tombstone ahead of the selected on "
+ "disk update after validating the update chain",
+ "cache: eviction gave up due to detecting out of order timestamps on the update chain after the "
+ "selected on disk update",
"cache: eviction walk passes of a file",
"cache: eviction walk target pages histogram - 0-9",
"cache: eviction walk target pages histogram - 10-31",
@@ -316,6 +324,10 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats)
stats->cache_eviction_checkpoint = 0;
stats->cache_eviction_blocked_checkpoint_hs = 0;
stats->cache_eviction_fail = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_1 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_2 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_3 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_4 = 0;
stats->cache_eviction_walk_passes = 0;
stats->cache_eviction_target_page_lt10 = 0;
stats->cache_eviction_target_page_lt32 = 0;
@@ -560,6 +572,14 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to)
to->cache_eviction_checkpoint += from->cache_eviction_checkpoint;
to->cache_eviction_blocked_checkpoint_hs += from->cache_eviction_blocked_checkpoint_hs;
to->cache_eviction_fail += from->cache_eviction_fail;
+ to->cache_eviction_blocked_ooo_checkpoint_race_1 +=
+ from->cache_eviction_blocked_ooo_checkpoint_race_1;
+ to->cache_eviction_blocked_ooo_checkpoint_race_2 +=
+ from->cache_eviction_blocked_ooo_checkpoint_race_2;
+ to->cache_eviction_blocked_ooo_checkpoint_race_3 +=
+ from->cache_eviction_blocked_ooo_checkpoint_race_3;
+ to->cache_eviction_blocked_ooo_checkpoint_race_4 +=
+ from->cache_eviction_blocked_ooo_checkpoint_race_4;
to->cache_eviction_walk_passes += from->cache_eviction_walk_passes;
to->cache_eviction_target_page_lt10 += from->cache_eviction_target_page_lt10;
to->cache_eviction_target_page_lt32 += from->cache_eviction_target_page_lt32;
@@ -799,6 +819,14 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to)
to->cache_eviction_blocked_checkpoint_hs +=
WT_STAT_READ(from, cache_eviction_blocked_checkpoint_hs);
to->cache_eviction_fail += WT_STAT_READ(from, cache_eviction_fail);
+ to->cache_eviction_blocked_ooo_checkpoint_race_1 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_1);
+ to->cache_eviction_blocked_ooo_checkpoint_race_2 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_2);
+ to->cache_eviction_blocked_ooo_checkpoint_race_3 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_3);
+ to->cache_eviction_blocked_ooo_checkpoint_race_4 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_4);
to->cache_eviction_walk_passes += WT_STAT_READ(from, cache_eviction_walk_passes);
to->cache_eviction_target_page_lt10 += WT_STAT_READ(from, cache_eviction_target_page_lt10);
to->cache_eviction_target_page_lt32 += WT_STAT_READ(from, cache_eviction_target_page_lt32);
@@ -1031,6 +1059,14 @@ static const char *const __stats_connection_desc[] = {
"cache: eviction calls to get a page found queue empty after locking",
"cache: eviction currently operating in aggressive mode",
"cache: eviction empty score",
+ "cache: eviction gave up due to detecting an out of order on disk value behind the last update "
+ "on the chain",
+ "cache: eviction gave up due to detecting an out of order tombstone ahead of the selected on "
+ "disk update",
+ "cache: eviction gave up due to detecting an out of order tombstone ahead of the selected on "
+ "disk update after validating the update chain",
+ "cache: eviction gave up due to detecting out of order timestamps on the update chain after the "
+ "selected on disk update",
"cache: eviction passes of a file",
"cache: eviction server candidate queue empty when topping up",
"cache: eviction server candidate queue not empty when topping up",
@@ -1569,6 +1605,10 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
stats->cache_eviction_get_ref_empty2 = 0;
/* not clearing cache_eviction_aggressive_set */
/* not clearing cache_eviction_empty_score */
+ stats->cache_eviction_blocked_ooo_checkpoint_race_1 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_2 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_3 = 0;
+ stats->cache_eviction_blocked_ooo_checkpoint_race_4 = 0;
stats->cache_eviction_walk_passes = 0;
stats->cache_eviction_queue_empty = 0;
stats->cache_eviction_queue_not_empty = 0;
@@ -2072,6 +2112,14 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS *
to->cache_eviction_get_ref_empty2 += WT_STAT_READ(from, cache_eviction_get_ref_empty2);
to->cache_eviction_aggressive_set += WT_STAT_READ(from, cache_eviction_aggressive_set);
to->cache_eviction_empty_score += WT_STAT_READ(from, cache_eviction_empty_score);
+ to->cache_eviction_blocked_ooo_checkpoint_race_1 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_1);
+ to->cache_eviction_blocked_ooo_checkpoint_race_2 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_2);
+ to->cache_eviction_blocked_ooo_checkpoint_race_3 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_3);
+ to->cache_eviction_blocked_ooo_checkpoint_race_4 +=
+ WT_STAT_READ(from, cache_eviction_blocked_ooo_checkpoint_race_4);
to->cache_eviction_walk_passes += WT_STAT_READ(from, cache_eviction_walk_passes);
to->cache_eviction_queue_empty += WT_STAT_READ(from, cache_eviction_queue_empty);
to->cache_eviction_queue_not_empty += WT_STAT_READ(from, cache_eviction_queue_not_empty);