Developer Documentation Glossary of Terms
WiredTiger assigns specific meanings to certain words. Here we decode them.
Most applications begin to make use of WiredTiger by creating a table (or other data object) to store their data in. Create is one of several schema operations available in WiredTiger.
An internal structure called Data Handle (dhandle) is used to represent and access a table in WiredTiger. A dhandle gets created when a table is accessed for the first time. It is kept in a global list and is shared across the sessions. When a dhandle is not needed anymore and has been idle for a while, it is closed and destroyed, releasing all the resources associated with it.
WiredTiger can generate statistics that are useful for providing information necessary when performance tuning your WiredTiger application. Here we focus on analyzing and reviewing the data generated by the statistics logging functionality.
The purpose of operation tracking is to visualize WiredTiger's execution so that correlations between performance anomalies are easily spotted. This operation tracking tutorial provides a general overview of operation tracking and describes ways to visualize the data in fine detail.
Linux perf
is a tool that allows counting and sampling of various events in the hardware and in the kernel. Hardware events are available via performance monitoring units (PMU); they measure CPU cycles, cache misses, branches, etc. Kernel events include scheduling context switches, page faults and block I/O. Here we provide a quick cheat sheet of how to use perf
with WiredTiger.
Why is my CPU busy? FlameGraphs help visually summarize on-CPU call stacks and allow for the quick identification of hot code paths. Here we explain how to generate FlameGraphs from WiredTiger perf
data.