Профилирование вывода JIT на Linux с perf_events/oprofile?

Я хочу профилировать код, сгенерированный JIT в Linux, с использованием аппаратных счетчиков производительности. Как я знаю, самые распространенные профилировщики oprofile а также perf,

Как я могу интегрировать JIT и oprofile/perf?

Мой JIT- это не JAVA, который уже поддерживается в oprofile. (Перфорация?)

Например, мы можем рассмотреть JIT LLVM. я бы хотел

  1. Смотрите самые горячие функции (их названия) из кода JIT-Ted
  2. Смотрите разбор самой горячей функции со статистикой счетчика производительности, назначенной для каждой инструкции

1 ответ

Решение

Для профилирования JIT-кода с помощью perf загрузите, скомпилируйте и установите библиотеку perf-map-agent, а затем (в любом случае для кода Java) добавьте -agentpath:<path>/libperfmap.so в командной строке.

Для не Java-кода, пока /tmp/perf-$pid.map Файлы символьных карт сгенерированы, и они будут использоваться при создании отчетов.

У Брендана Грегга есть запись в блоге, в которой есть ссылки.

Другие вопросы по тегам