Неизвестные события в пламени графа nodejs / v8 с использованием perf_events
Я пытаюсь выполнить профилирование nodejs с помощью Linux perf_events, как описано Бренданом Греггом.Вот.
Рабочий процесс следующий:
запустить узел> 0.11.13 с--perf-basic-prof
, который создает/tmp/perf-(PID).map
файл, в котором записано отображение символов JavaScript.Захват стеков с помощьюperf record -F 99 -p `pgrep -n node` -g -- sleep 30
Сложите стеки, используяstackcollapse-perf.pl
сценарий отэтот хранилищеСоздать график пламени SVG, используяflamegraph.pl
скриптЯ получаю следующий результат (который вначале выглядит очень красиво):
Проблема в том, что есть много[unknown]
элементы, которые, я полагаю, должны быть вызовами моей функции nodejs. Я предполагаю, что весь процесс завершается ошибкой где-то в точке 3, где данные perf должны быть свернуты с использованием отображений, генерируемых узлом / v8, выполняемым с--perf-basic-prof
. /tmp/perf-PID.map
файл создается и в него записывается некоторое отображение во время выполнения узла.
Как решить эту проблему?
Я использую CentOS 6.5 x64, и уже пробовал это с узлами 0.11.13, 0.11.14 (как предварительно скомпилированными, так и скомпилированными) безуспешно.