Невозможно создать flamegraph для процесса NodeJS

#javascript #node.js #perf #flamegraph

#javascript #node.js #perf #flamegraph

Вопрос:

Я пытаюсь профилировать REST API NodeJS с помощью утилиты perf. используемая мной команда perf record -F 99 -p 5395 -g -- sleep 60 5395 является идентификатором процесса. Он работает правильно и записывает данные в файл perf.data.
[ perf record: Woken up 6 times to write data ]
[ perf record: Captured and wrote 1.360 MB perf.data (~59425 samples) ]
Однако, когда я пытаюсь создать отчет из него, используя perf script > out.perf , я получаю сообщение об ошибке Failed to open /tmp/perf-5395.map, continuing without symbols . Что в основном означает, что perf не удалось декомпилировать код, чтобы показать код javascript в выходном файле. Как получить этот файл карты? Чего мне не хватает?

Ответ №1:

Отсутствует —perf_basic_prof_only_functions на узле.

Например. node --perf_basic_prof_only_functions app.js

Комментарии:

1. Я новичок в Linux. Не могли бы вы подробнее perf record --perf_basic_prof_only_functions -F 99 -p 26882 -g -- sleep 60 рассказать мне unknown option о perf_basic_prof_only_functions »

2. Добавьте это в свой процесс узла следующим node --perf_basic_prof_only_functions app.js образом, затем используйте perf , как и раньше.