summaryrefslogtreecommitdiff
path: root/src/docs/tune-statistics.dox
blob: a7d0f56455ef092345b0d4cf75768c06a2d6dfca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*! @page tune_statistics Performance monitoring with statistics

WiredTiger optionally maintains a variety of statistics, when the
\c statistics configuration string is specified to ::wiredtiger_open;
see @ref statistics for general information about statistics, and
@ref data_statistics 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:

@snippet ex_stat.c statistics calculate open table stats

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:

@snippet ex_stat.c statistics calculate table fragmentation

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.

@snippet ex_stat.c statistics calculate write amplification

Both examples use this helper function to retrieve statistics values from a
cursor:

@snippet ex_stat.c statistics calculation helper function

 */