-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
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.
- has to be done after
-
SERVER-46693 Parallelize debugger processes in hang-analyzer
- Closed
- is related to
-
SERVER-48479 hang-analyzer for macos doesn't work on evergreen
- Closed
-
SERVER-48590 QOL improvements for hang-analyzer
- Closed