[SERVER-23594] Add option to specify TCMalloc statistics verbosity in FTDC Created: 07/Apr/16  Updated: 01/Sep/20  Resolved: 01/Sep/20

Status: Closed
Project: Core Server
Component/s: Diagnostics
Affects Version/s: 3.3.4
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Bruce Lucas (Inactive) Assignee: Mark Benvenuto
Resolution: Duplicate Votes: 0
Labels: move-sec, platforms-re-triaged
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-48324 Expose parameter to include tcmalloc ... Closed
Related
is related to SERVER-23069 Improve tcmalloc freelist statistics Closed
is related to SERVER-23409 Add tunability to tcmalloc serverStat... Closed
Operating System: ALL
Sprint: Security 2020-09-07
Participants:

 Description   

After SERVER-23409, it will be possible to customize the verbosity of the TCMalloc section of serverStatus. We should add a setParameter option to allow FTDC to take advantage of this – right now, it's hard coded to do

db.serverStatus( { tcmalloc: true } )

Original Description

The tcmalloc freelist statistics introduced by SERVER-23069 are very useful for debugging memory issues, but they have a large impact on diagnostic data capture. Here is the impact on (compressed) sample size and retention period (with the default 100 MB diagnostic data capture size) for a 10 minute run of a busy 1-node replica set:

      
3.2 (no tcamlloc stats) - 270 bytes/sample - 4.2 days / 100 MB
3.3 (w/ tcmalloc stats) - 426 bytes/sample - 2.7 days / 100 MB

This seems unlike to be useful for diagnosing issues in the field, so the large impact on retention period isn't warranted, so the detailed tcmalloc stats shouldn't be included in diagnostic data capture by default.

Some options:

  • make it optional as suggested in SERVER-23409 and exclude it from diagnostic data capture
  • remove it from the result of serverStatus before packaging it up for diagnostic data capture

Whatever approach to exclude it by default from diagnostic data capture, it might still be a good idea to have an option to included it in diagnostic data capture for special customer debugging scenarios.



 Comments   
Comment by Mark Benvenuto [ 15/Sep/16 ]

Since the verbose tcmalloc statistics in serverStatus are optional, and may be useful to debug certain issues, it would be nice for FTDC to capture them. This is the intent of the ticket since the verbose tcmalloc statistics are no longer on by default.

Generated at Thu Feb 08 04:03:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.