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.c182
1 files changed, 175 insertions, 7 deletions
diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c
index 7be8e90982f..c3588bffad3 100644
--- a/src/third_party/wiredtiger/src/support/stat.c
+++ b/src/third_party/wiredtiger/src/support/stat.c
@@ -81,7 +81,10 @@ static const char *const __stats_dsrc_desc[] = {
"cursor: remove key bytes removed", "cursor: reserve calls", "cursor: reset calls",
"cursor: search calls", "cursor: search near calls", "cursor: truncate calls",
"cursor: update calls", "cursor: update key and value bytes", "cursor: update value size change",
- "reconciliation: dictionary matches", "reconciliation: fast-path pages deleted",
+ "history: history pages added for eviction during garbage collection",
+ "history: history pages removed for garbage collection",
+ "history: history pages visited for garbage collection", "reconciliation: dictionary matches",
+ "reconciliation: fast-path pages deleted",
"reconciliation: internal page key bytes discarded using suffix compression",
"reconciliation: internal page multi-block writes", "reconciliation: internal-page overflow keys",
"reconciliation: leaf page key bytes discarded using prefix compression",
@@ -89,7 +92,27 @@ static const char *const __stats_dsrc_desc[] = {
"reconciliation: maximum blocks required for a page", "reconciliation: overflow values written",
"reconciliation: page checksum matches", "reconciliation: page reconciliation calls",
"reconciliation: page reconciliation calls for eviction", "reconciliation: pages deleted",
- "reconciliation: prepared values written", "session: object compaction",
+ "reconciliation: pages written including an aggregated newest start durable timestamp ",
+ "reconciliation: pages written including an aggregated newest stop durable timestamp ",
+ "reconciliation: pages written including an aggregated newest stop timestamp ",
+ "reconciliation: pages written including an aggregated newest stop transaction ID",
+ "reconciliation: pages written including an aggregated oldest start timestamp ",
+ "reconciliation: pages written including an aggregated oldest start transaction ID ",
+ "reconciliation: pages written including an aggregated prepare",
+ "reconciliation: pages written including at least one prepare",
+ "reconciliation: pages written including at least one start durable timestamp",
+ "reconciliation: pages written including at least one start timestamp",
+ "reconciliation: pages written including at least one start transaction ID",
+ "reconciliation: pages written including at least one stop durable timestamp",
+ "reconciliation: pages written including at least one stop timestamp",
+ "reconciliation: pages written including at least one stop transaction ID",
+ "reconciliation: records written including a prepare",
+ "reconciliation: records written including a start durable timestamp",
+ "reconciliation: records written including a start timestamp",
+ "reconciliation: records written including a start transaction ID",
+ "reconciliation: records written including a stop durable timestamp",
+ "reconciliation: records written including a stop timestamp",
+ "reconciliation: records written including a stop transaction ID", "session: object compaction",
"transaction: update conflicts",
};
@@ -261,6 +284,9 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats)
stats->cursor_update = 0;
stats->cursor_update_bytes = 0;
stats->cursor_update_bytes_changed = 0;
+ stats->hs_gc_pages_evict = 0;
+ stats->hs_gc_pages_removed = 0;
+ stats->hs_gc_pages_visited = 0;
stats->rec_dictionary = 0;
stats->rec_page_delete_fast = 0;
stats->rec_suffix_compression = 0;
@@ -275,7 +301,27 @@ __wt_stat_dsrc_clear_single(WT_DSRC_STATS *stats)
stats->rec_pages = 0;
stats->rec_pages_eviction = 0;
stats->rec_page_delete = 0;
- stats->rec_prepare_value = 0;
+ stats->rec_time_aggr_newest_start_durable_ts = 0;
+ stats->rec_time_aggr_newest_stop_durable_ts = 0;
+ stats->rec_time_aggr_newest_stop_ts = 0;
+ stats->rec_time_aggr_newest_stop_txn = 0;
+ stats->rec_time_aggr_oldest_start_ts = 0;
+ stats->rec_time_aggr_oldest_start_txn = 0;
+ stats->rec_time_aggr_prepared = 0;
+ stats->rec_time_window_pages_prepared = 0;
+ stats->rec_time_window_pages_durable_start_ts = 0;
+ stats->rec_time_window_pages_start_ts = 0;
+ stats->rec_time_window_pages_start_txn = 0;
+ stats->rec_time_window_pages_durable_stop_ts = 0;
+ stats->rec_time_window_pages_stop_ts = 0;
+ stats->rec_time_window_pages_stop_txn = 0;
+ stats->rec_time_window_prepared = 0;
+ stats->rec_time_window_durable_start_ts = 0;
+ stats->rec_time_window_start_ts = 0;
+ stats->rec_time_window_start_txn = 0;
+ stats->rec_time_window_durable_stop_ts = 0;
+ stats->rec_time_window_stop_ts = 0;
+ stats->rec_time_window_stop_txn = 0;
stats->session_compact = 0;
stats->txn_update_conflict = 0;
}
@@ -434,6 +480,9 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to)
to->cursor_update += from->cursor_update;
to->cursor_update_bytes += from->cursor_update_bytes;
to->cursor_update_bytes_changed += from->cursor_update_bytes_changed;
+ to->hs_gc_pages_evict += from->hs_gc_pages_evict;
+ to->hs_gc_pages_removed += from->hs_gc_pages_removed;
+ to->hs_gc_pages_visited += from->hs_gc_pages_visited;
to->rec_dictionary += from->rec_dictionary;
to->rec_page_delete_fast += from->rec_page_delete_fast;
to->rec_suffix_compression += from->rec_suffix_compression;
@@ -449,7 +498,27 @@ __wt_stat_dsrc_aggregate_single(WT_DSRC_STATS *from, WT_DSRC_STATS *to)
to->rec_pages += from->rec_pages;
to->rec_pages_eviction += from->rec_pages_eviction;
to->rec_page_delete += from->rec_page_delete;
- to->rec_prepare_value += from->rec_prepare_value;
+ to->rec_time_aggr_newest_start_durable_ts += from->rec_time_aggr_newest_start_durable_ts;
+ to->rec_time_aggr_newest_stop_durable_ts += from->rec_time_aggr_newest_stop_durable_ts;
+ to->rec_time_aggr_newest_stop_ts += from->rec_time_aggr_newest_stop_ts;
+ to->rec_time_aggr_newest_stop_txn += from->rec_time_aggr_newest_stop_txn;
+ to->rec_time_aggr_oldest_start_ts += from->rec_time_aggr_oldest_start_ts;
+ to->rec_time_aggr_oldest_start_txn += from->rec_time_aggr_oldest_start_txn;
+ to->rec_time_aggr_prepared += from->rec_time_aggr_prepared;
+ to->rec_time_window_pages_prepared += from->rec_time_window_pages_prepared;
+ to->rec_time_window_pages_durable_start_ts += from->rec_time_window_pages_durable_start_ts;
+ to->rec_time_window_pages_start_ts += from->rec_time_window_pages_start_ts;
+ to->rec_time_window_pages_start_txn += from->rec_time_window_pages_start_txn;
+ to->rec_time_window_pages_durable_stop_ts += from->rec_time_window_pages_durable_stop_ts;
+ to->rec_time_window_pages_stop_ts += from->rec_time_window_pages_stop_ts;
+ to->rec_time_window_pages_stop_txn += from->rec_time_window_pages_stop_txn;
+ to->rec_time_window_prepared += from->rec_time_window_prepared;
+ to->rec_time_window_durable_start_ts += from->rec_time_window_durable_start_ts;
+ to->rec_time_window_start_ts += from->rec_time_window_start_ts;
+ to->rec_time_window_start_txn += from->rec_time_window_start_txn;
+ to->rec_time_window_durable_stop_ts += from->rec_time_window_durable_stop_ts;
+ to->rec_time_window_stop_ts += from->rec_time_window_stop_ts;
+ to->rec_time_window_stop_txn += from->rec_time_window_stop_txn;
to->session_compact += from->session_compact;
to->txn_update_conflict += from->txn_update_conflict;
}
@@ -605,6 +674,9 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to)
to->cursor_update += WT_STAT_READ(from, cursor_update);
to->cursor_update_bytes += WT_STAT_READ(from, cursor_update_bytes);
to->cursor_update_bytes_changed += WT_STAT_READ(from, cursor_update_bytes_changed);
+ to->hs_gc_pages_evict += WT_STAT_READ(from, hs_gc_pages_evict);
+ to->hs_gc_pages_removed += WT_STAT_READ(from, hs_gc_pages_removed);
+ to->hs_gc_pages_visited += WT_STAT_READ(from, hs_gc_pages_visited);
to->rec_dictionary += WT_STAT_READ(from, rec_dictionary);
to->rec_page_delete_fast += WT_STAT_READ(from, rec_page_delete_fast);
to->rec_suffix_compression += WT_STAT_READ(from, rec_suffix_compression);
@@ -620,7 +692,31 @@ __wt_stat_dsrc_aggregate(WT_DSRC_STATS **from, WT_DSRC_STATS *to)
to->rec_pages += WT_STAT_READ(from, rec_pages);
to->rec_pages_eviction += WT_STAT_READ(from, rec_pages_eviction);
to->rec_page_delete += WT_STAT_READ(from, rec_page_delete);
- to->rec_prepare_value += WT_STAT_READ(from, rec_prepare_value);
+ to->rec_time_aggr_newest_start_durable_ts +=
+ WT_STAT_READ(from, rec_time_aggr_newest_start_durable_ts);
+ to->rec_time_aggr_newest_stop_durable_ts +=
+ WT_STAT_READ(from, rec_time_aggr_newest_stop_durable_ts);
+ to->rec_time_aggr_newest_stop_ts += WT_STAT_READ(from, rec_time_aggr_newest_stop_ts);
+ to->rec_time_aggr_newest_stop_txn += WT_STAT_READ(from, rec_time_aggr_newest_stop_txn);
+ to->rec_time_aggr_oldest_start_ts += WT_STAT_READ(from, rec_time_aggr_oldest_start_ts);
+ to->rec_time_aggr_oldest_start_txn += WT_STAT_READ(from, rec_time_aggr_oldest_start_txn);
+ to->rec_time_aggr_prepared += WT_STAT_READ(from, rec_time_aggr_prepared);
+ to->rec_time_window_pages_prepared += WT_STAT_READ(from, rec_time_window_pages_prepared);
+ to->rec_time_window_pages_durable_start_ts +=
+ WT_STAT_READ(from, rec_time_window_pages_durable_start_ts);
+ to->rec_time_window_pages_start_ts += WT_STAT_READ(from, rec_time_window_pages_start_ts);
+ to->rec_time_window_pages_start_txn += WT_STAT_READ(from, rec_time_window_pages_start_txn);
+ to->rec_time_window_pages_durable_stop_ts +=
+ WT_STAT_READ(from, rec_time_window_pages_durable_stop_ts);
+ to->rec_time_window_pages_stop_ts += WT_STAT_READ(from, rec_time_window_pages_stop_ts);
+ to->rec_time_window_pages_stop_txn += WT_STAT_READ(from, rec_time_window_pages_stop_txn);
+ to->rec_time_window_prepared += WT_STAT_READ(from, rec_time_window_prepared);
+ to->rec_time_window_durable_start_ts += WT_STAT_READ(from, rec_time_window_durable_start_ts);
+ to->rec_time_window_start_ts += WT_STAT_READ(from, rec_time_window_start_ts);
+ to->rec_time_window_start_txn += WT_STAT_READ(from, rec_time_window_start_txn);
+ to->rec_time_window_durable_stop_ts += WT_STAT_READ(from, rec_time_window_durable_stop_ts);
+ to->rec_time_window_stop_ts += WT_STAT_READ(from, rec_time_window_stop_ts);
+ to->rec_time_window_stop_txn += WT_STAT_READ(from, rec_time_window_stop_txn);
to->session_compact += WT_STAT_READ(from, session_compact);
to->txn_update_conflict += WT_STAT_READ(from, txn_update_conflict);
}
@@ -844,13 +940,37 @@ static const char *const __stats_connection_desc[] = {
"perf: operation write latency histogram (bucket 3) - 500-999us",
"perf: operation write latency histogram (bucket 4) - 1000-9999us",
"perf: operation write latency histogram (bucket 5) - 10000us+",
- "reconciliation: fast-path pages deleted", "reconciliation: page reconciliation calls",
+ "reconciliation: fast-path pages deleted",
+ "reconciliation: maximum seconds spent in a reconciliation call",
+ "reconciliation: page reconciliation calls",
"reconciliation: page reconciliation calls for eviction",
"reconciliation: page reconciliation calls that resulted in values with prepared transaction "
"metadata",
"reconciliation: page reconciliation calls that resulted in values with timestamps",
"reconciliation: page reconciliation calls that resulted in values with transaction ids",
- "reconciliation: pages deleted", "reconciliation: split bytes currently awaiting free",
+ "reconciliation: pages deleted",
+ "reconciliation: pages written including an aggregated newest start durable timestamp ",
+ "reconciliation: pages written including an aggregated newest stop durable timestamp ",
+ "reconciliation: pages written including an aggregated newest stop timestamp ",
+ "reconciliation: pages written including an aggregated newest stop transaction ID",
+ "reconciliation: pages written including an aggregated oldest start timestamp ",
+ "reconciliation: pages written including an aggregated oldest start transaction ID ",
+ "reconciliation: pages written including an aggregated prepare",
+ "reconciliation: pages written including at least one prepare state",
+ "reconciliation: pages written including at least one start durable timestamp",
+ "reconciliation: pages written including at least one start timestamp",
+ "reconciliation: pages written including at least one start transaction ID",
+ "reconciliation: pages written including at least one stop durable timestamp",
+ "reconciliation: pages written including at least one stop timestamp",
+ "reconciliation: pages written including at least one stop transaction ID",
+ "reconciliation: records written including a prepare state",
+ "reconciliation: records written including a start durable timestamp",
+ "reconciliation: records written including a start timestamp",
+ "reconciliation: records written including a start transaction ID",
+ "reconciliation: records written including a stop durable timestamp",
+ "reconciliation: records written including a stop timestamp",
+ "reconciliation: records written including a stop transaction ID",
+ "reconciliation: split bytes currently awaiting free",
"reconciliation: split objects currently awaiting free", "session: open session count",
"session: session query timestamp calls", "session: table alter failed calls",
"session: table alter successful calls", "session: table alter unchanged and skipped",
@@ -1285,12 +1405,34 @@ __wt_stat_connection_clear_single(WT_CONNECTION_STATS *stats)
stats->perf_hist_opwrite_latency_lt10000 = 0;
stats->perf_hist_opwrite_latency_gt10000 = 0;
stats->rec_page_delete_fast = 0;
+ /* not clearing rec_maximum_seconds */
stats->rec_pages = 0;
stats->rec_pages_eviction = 0;
stats->rec_pages_with_prepare = 0;
stats->rec_pages_with_ts = 0;
stats->rec_pages_with_txn = 0;
stats->rec_page_delete = 0;
+ stats->rec_time_aggr_newest_start_durable_ts = 0;
+ stats->rec_time_aggr_newest_stop_durable_ts = 0;
+ stats->rec_time_aggr_newest_stop_ts = 0;
+ stats->rec_time_aggr_newest_stop_txn = 0;
+ stats->rec_time_aggr_oldest_start_ts = 0;
+ stats->rec_time_aggr_oldest_start_txn = 0;
+ stats->rec_time_aggr_prepared = 0;
+ stats->rec_time_window_pages_prepared = 0;
+ stats->rec_time_window_pages_durable_start_ts = 0;
+ stats->rec_time_window_pages_start_ts = 0;
+ stats->rec_time_window_pages_start_txn = 0;
+ stats->rec_time_window_pages_durable_stop_ts = 0;
+ stats->rec_time_window_pages_stop_ts = 0;
+ stats->rec_time_window_pages_stop_txn = 0;
+ stats->rec_time_window_prepared = 0;
+ stats->rec_time_window_durable_start_ts = 0;
+ stats->rec_time_window_start_ts = 0;
+ stats->rec_time_window_start_txn = 0;
+ stats->rec_time_window_durable_stop_ts = 0;
+ stats->rec_time_window_stop_ts = 0;
+ stats->rec_time_window_stop_txn = 0;
/* not clearing rec_split_stashed_bytes */
/* not clearing rec_split_stashed_objects */
/* not clearing session_open */
@@ -1752,12 +1894,38 @@ __wt_stat_connection_aggregate(WT_CONNECTION_STATS **from, WT_CONNECTION_STATS *
to->perf_hist_opwrite_latency_lt10000 += WT_STAT_READ(from, perf_hist_opwrite_latency_lt10000);
to->perf_hist_opwrite_latency_gt10000 += WT_STAT_READ(from, perf_hist_opwrite_latency_gt10000);
to->rec_page_delete_fast += WT_STAT_READ(from, rec_page_delete_fast);
+ to->rec_maximum_seconds += WT_STAT_READ(from, rec_maximum_seconds);
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);
to->rec_pages_with_ts += WT_STAT_READ(from, rec_pages_with_ts);
to->rec_pages_with_txn += WT_STAT_READ(from, rec_pages_with_txn);
to->rec_page_delete += WT_STAT_READ(from, rec_page_delete);
+ to->rec_time_aggr_newest_start_durable_ts +=
+ WT_STAT_READ(from, rec_time_aggr_newest_start_durable_ts);
+ to->rec_time_aggr_newest_stop_durable_ts +=
+ WT_STAT_READ(from, rec_time_aggr_newest_stop_durable_ts);
+ to->rec_time_aggr_newest_stop_ts += WT_STAT_READ(from, rec_time_aggr_newest_stop_ts);
+ to->rec_time_aggr_newest_stop_txn += WT_STAT_READ(from, rec_time_aggr_newest_stop_txn);
+ to->rec_time_aggr_oldest_start_ts += WT_STAT_READ(from, rec_time_aggr_oldest_start_ts);
+ to->rec_time_aggr_oldest_start_txn += WT_STAT_READ(from, rec_time_aggr_oldest_start_txn);
+ to->rec_time_aggr_prepared += WT_STAT_READ(from, rec_time_aggr_prepared);
+ to->rec_time_window_pages_prepared += WT_STAT_READ(from, rec_time_window_pages_prepared);
+ to->rec_time_window_pages_durable_start_ts +=
+ WT_STAT_READ(from, rec_time_window_pages_durable_start_ts);
+ to->rec_time_window_pages_start_ts += WT_STAT_READ(from, rec_time_window_pages_start_ts);
+ to->rec_time_window_pages_start_txn += WT_STAT_READ(from, rec_time_window_pages_start_txn);
+ to->rec_time_window_pages_durable_stop_ts +=
+ WT_STAT_READ(from, rec_time_window_pages_durable_stop_ts);
+ to->rec_time_window_pages_stop_ts += WT_STAT_READ(from, rec_time_window_pages_stop_ts);
+ to->rec_time_window_pages_stop_txn += WT_STAT_READ(from, rec_time_window_pages_stop_txn);
+ to->rec_time_window_prepared += WT_STAT_READ(from, rec_time_window_prepared);
+ to->rec_time_window_durable_start_ts += WT_STAT_READ(from, rec_time_window_durable_start_ts);
+ to->rec_time_window_start_ts += WT_STAT_READ(from, rec_time_window_start_ts);
+ to->rec_time_window_start_txn += WT_STAT_READ(from, rec_time_window_start_txn);
+ to->rec_time_window_durable_stop_ts += WT_STAT_READ(from, rec_time_window_durable_stop_ts);
+ to->rec_time_window_stop_ts += WT_STAT_READ(from, rec_time_window_stop_ts);
+ to->rec_time_window_stop_txn += WT_STAT_READ(from, rec_time_window_stop_txn);
to->rec_split_stashed_bytes += WT_STAT_READ(from, rec_split_stashed_bytes);
to->rec_split_stashed_objects += WT_STAT_READ(from, rec_split_stashed_objects);
to->session_open += WT_STAT_READ(from, session_open);