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

Reuse debugger process for processes of same type in hang_analyzer.py

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • STM 2020-05-18, STM 2020-06-01, STM 2020-06-15
    • 3

    Description

      Reloading the symbols for every process is another bottleneck. To alleviate this, hang_analyzer.py will be modified to reuse the same debugger process and analyze all processes of the same type (ex. All mongod processes will be analyzed in the same debugger process).

      • Processes will be grouped by process type (Ex. all mongod processes)
      • A single process will be created that will:

          run debugger
          load symbols
          for process in processes:
              attach process
              dump info
      

      The debugger scripts are all hardcoded strings, the script for GDB is especially ugly. GDB has an API for python, so if this change turns out to be non-trivial to hardcode as plaintext, we can consider rewriting it to use the python API.

      As part of this ticket, ensure the performance improves.

      Attachments

        Activity

          People

            vlad.rachev@mongodb.com Vlad Rachev (Inactive)
            vlad.rachev@mongodb.com Vlad Rachev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: