WiredTiger optionally maintains a variety of statistics, when the statistics
configuration string is specified to wiredtiger_open; see Statistics for general information about statistics, and Statistics Data for information about accessing the statistics.
Note that maintaining run-time statistics involves updating shared-memory data structures and may decrease application performance.
The statistics gathered by WiredTiger can be combined to derive information about the system's behavior. For example, a cursor can be opened on the statistics for a table:
Then this code calculates the "fragmentation" of a table, defined here as the percentage of the table that is not part of the current checkpoint:
The following example calculates the "write amplification", defined here as the ratio of bytes written to the filesystem versus the total bytes inserted, updated and removed by the application.
Both examples use this helper function to retrieve statistics values from a cursor: