Профилирование связанных драйверов в Erlang
Как я могу профилировать драйвер подключенного порта? Инструменты OTP (fprof
и т. д.) очевидно, только профиль Erlang код, и у меня нет исполняемого файла C для подачи в gprof
,
2 ответа
Решение
Поскольку драйвер связанного порта является.so библиотекой, которая динамически загружается в процесс erl (в linux), вы можете запустить valgrind --tool=callgrind --callgrind-out-file=file.out erl (см. другие параметры в документации). для callgrind), затем выполните некоторые тесты из оболочки erl, выйдите из оболочки и загрузите file.out в каком-либо инструменте, таком как KCachegrind
Разве вы не можете просто профилировать erl
исполняемый файл, а затем получить это к gprof
инструмент? Я почти уверен, что именно так это и делают разработчики Erlang.