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

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

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

      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.

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

              Created:
              Updated:
              Resolved: