Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-23594

Add option to specify TCMalloc statistics verbosity in FTDC

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL

      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.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated: