WiredTiger Ticket Metric Telemetry in FTDC
Parent: FTDC and Log Tooling · Published reference · snapshot 2026-10-15
↓ Facts as markdownall context files
Depth-first rabbithole dossier for WiredTiger Ticket Metric Telemetry in FTDC; source-anchored research pack.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Definitions
- [low] FTDC is the first artifact MongoDB support asks for on a performance ticket, and engineers supporting the cluster work from the full second-by-second record. Sources: https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
- [low] CmpThreshold is the threshold for comparison of metrics used by the Proximal function, with a default value of 0.2. Sources: https://pkg.go.dev/github.com/jenunes/ftdc-utils [source]
Structure and components
- [low] FTDC data contains no user data, only counters, and verification of this can be done by examining the diagnostic document, which may contain distinct strings but no database or collection names. (verified as of 2026-10-15) Sources: https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
How it works
- [medium] A concurrent storage engine transaction (ticket) availability of 0 for a prolonged period does not indicate an overload, and upgrading to MongoDB 7.0 may result in a significant drop in ticket usage, which is expected behavior. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/command/serverStatus.md, https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [high] FTDC data is lost when a host is terminated or rebuilt, and the log download provides only mongodb.gz and audit logs, excluding FTDC data. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md, https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
Measurements and reference values
- [low] The default WiredTiger internal cache size is the larger of 50% of (RAM - 1GB) or 0.256 GB, assuming a single mongod instance per machine. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] When specifying a WiredTiger cache size, the RAM must not exceed bounds of 0.256GB to 10000GB, and you must specify a percentage of up to 80% of available memory. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
Problems, failure modes and limitations
- [low] MongoDB stores FTDC data only on the local host, and you cannot use FTDC data forwarded by OTel or other log shipping pipelines for diagnostic purposes. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md [source]
- [low] On a system with 2GB of RAM, the --wiredTigerCacheSizePct cannot be set to 10 because 10% of 2GB is 0.2 GB, which is less than the minimum 0.256GB. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] Accessing FTDC data on Atlas requires a programmatic API key, not a database user, and if the organization requires an access list for API keys, your IP must be added first to avoid an ORG_REQUIRES_ACCESS_LIST error. Sources: https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
Comparisons and alternatives
- [low] FTDC reports utilization statistics and calculates memory utilization from the perspective of the container, using the container's RAM limit rather than the host operating system's limit. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md [source]
- [low] In a troubleshooting scenario, read tickets out spiked from a baseline of about zero during problems, but increasing the max number of read tickets did not improve the situation, confirming it was a symptom rather than the cause. Sources: https://datadoghq.com/blog/how-connectifier-unfroze-mongodb-with-datadog [source]
Facts and statements
- [low] The WiredTiger metrics section includes tickets, cache, pages evicted, block manager, and checkpoints, and a script can send all metric data to a Dockerized InfluxDB instance. Sources: https://www.percona.com/blog/enhancing-keyhole-pulling-more-metrics-from-mongodbs-ftdc/ [source]
- [low] In the same troubleshooting scenario, WiredTiger cache utilization metrics showed the cache filling up right before read tickets and latency spiked, and increasing the WiredTiger cache via an administrative command without a restart immediately resolved the issues. Sources: https://datadoghq.com/blog/how-connectifier-unfroze-mongodb-with-datadog [source]
- [high] FTDC (Full Time Diagnostic Data Capture) is enabled by default in MongoDB and writes approximately 5,700 metrics every second into a folder called diagnostic.data. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md, https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
- [medium] Starting in MongoDB 7.0, MongoDB uses a default algorithm to dynamically adjust the maximum number of concurrent storage engine transactions (read and write tickets) to optimize database throughput during overload. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/parameters.md, https://www.mongodb.com/docs/manual/reference/command/serverStatus.md, https://www.mongodb.com/docs/manual/core/wiredtiger.md, https://www.mongodb.com/docs/manual/administration/performance-tuning.md [source]
- [low] The maximum number of concurrent storage engine transactions never exceeds 128 read tickets and 128 write tickets, and the maximum number of read and write tickets within a single node are always equal. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] Starting in MongoDB 7.0, the ticket parameter is available for all storage engines, whereas in earlier versions it was available for the WiredTiger storage engine only. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/parameters.md [source]
- [high] The serverStatus output exposes ticket metrics as serverstatus.queues.execution.{write,read}.{available,out,totalTickets}, indicating the total held, available, and capacity tickets, with values depending on the usesPrioritization setting. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/command/serverStatus.md, https://www.percona.com/blog/customizing-the-new-mongodb-concurrency-algorithm/ [source]
- [low] Ticket metrics include the number of tickets held longer than the delinquency threshold, the cumulative excess time in milliseconds for all delinquent holds, and the maximum excess time observed for any single delinquent hold. Sources: https://www.mongodb.com/docs/manual/reference/command/serverStatus.md [source]
- [low] Low-priority queue ticket metrics include the number of tickets held by active operations, the number of tickets remaining for acquisition, the total capacity of the pool, and the number of holds exceeding the delinquency threshold. Sources: https://www.mongodb.com/docs/manual/reference/command/serverStatus.md [source]
- [low] The queue time in microseconds for operations before being shed is tracked as a ticket metric, and a boolean indicates whether the system dynamically adjusts concurrency using the throughput probing algorithm. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/command/serverStatus.md [source]
- [low] The WiredTiger ticket number should always be at 128, and sustained values below 128 indicate a server delay and consequential potential issues. Sources: https://www.mongodb.com/docs/manual/administration/performance-tuning.md [source]
- [low] ComputeStats takes an FTDC diagnostic file as an io.Reader and computes statistics for all metrics on each chunk, while ComputeStatsInterval computes statistics within a given time frame by clipping chunks to fit. Sources: https://pkg.go.dev/github.com/jenunes/ftdc-utils [source]
- [high] FTDC data files are compressed and not human-readable, using delta encoding and aggressive compression that allows days of history to fit in a few hundred megabytes. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md, https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
- [low] FTDC only captures metadata and does not capture or inspect any network packets, nor does it include data related to storage capacity. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md [source]
- [low] MongoDB configures WiredTiger to create checkpoints by writing snapshot data to disk at intervals of 60 seconds. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] WiredTiger does not compress log records that are less than or equal to 128 bytes, which is the minimum log record size for WiredTiger. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] The default block compression for time-series collections is zstd. Sources: https://www.mongodb.com/docs/manual/core/wiredtiger.md [source]
- [low] In timeline views, gauges such as connections, cache bytes, and tickets show the peak in each bucket, while cumulative counters like ops.* and sys.cpu.* show their rate per second over the bucket. Sources: https://github.com/saqibameen86/mdbkit [source]
- [low] The Atlas diagnostic bundle includes a metadata document with getCmdLineOpts, which indicates how Atlas starts mongod, and the metrics page provides a few dozen series with seven days of retention. (verified as of 2026-10-15) Sources: https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
- [low] To disable FTDC, start mongod or mongos with the diagnosticDataCollectionEnabled parameter set to false. Sources: https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md [source]
- [low] The Proximal function computes a measure of deviation between two sets of metric statistics, comparing an aggregated score against the CmpThreshold, where a score of 1.0 indicates a perfect match. Sources: https://pkg.go.dev/github.com/jenunes/ftdc-utils [source]
- [low] On self-managed servers, you can control FTDC retention by raising diagnosticDataCollectionDirectorySizeMB or copying the directory to durable storage on a cron job. Sources: https://www.percona.com/blog/the-diagnostic-data-mongodb-atlas-doesnt-hand-you/ [source]
- [low] Starting in MongoDB 8.0, the serverStatus output changed, renaming wiredTiger.concurrentTransactions to queues.execution, causing many previously discovered items to become unsupported on MongoDB 8.0 hosts. (verified as of 2026-10-15) Sources: https://support.zabbix.com/browse/ZBX-26954 [source]
Related concepts
- WiredTiger — is a part of WiredTiger Ticket Metric Telemetry in FTDC
- Ticket — is a part of WiredTiger Ticket Metric Telemetry in FTDC
- FTDC — is a part of WiredTiger Ticket Metric Telemetry in FTDC
- Metric — is a part of WiredTiger Ticket Metric Telemetry in FTDC
Children
- No children recorded.