Linux Отсутствует опция `perf record --append` - PullRequest
1 голос
/ 20 июня 2020

Интерактивные страницы управления, такие как https://linux.die.net/man/1/perf-record, предполагают, что есть опция для команды Linux perf, которая поддерживает инкрементное профилирование, то есть объединение данных профилирования из нескольких разных запусков через perf record --append. Однако в моей системе с perf версии 4.15.18 эта опция отсутствует. Моя версия perf слишком новая или слишком старая для использования опции --append? В качестве альтернативы, если опция --append отсутствует, могу ли я объединить / добавить результаты перфоманса из нескольких прогонов и выполнить инкрементное профилирование?

Этот вопрос возник при выполнении профилирования на основе выборки с использованием LLVM. В LLVM профилирование на основе инструментов поддерживает объединение данных профиля в нескольких прогонах, и мне было интересно, можем ли мы сделать то же самое с perf.

1 Ответ

2 голосов
/ 20 июня 2020

Он был удален довольно долго go, см. https://lore.kernel.org/patchwork/patch/391730/ и соответствующее обсуждение здесь: https://marc.info/?l=linux-kernel&m=137031146932578&w=2. Похоже, что способ реализации --append довольно прост: просто изменив режим записи данных профилирования на «добавить», и он не работает с perf report, поэтому они решили его удалить.

Кажется, есть опция --timestamp-filename отметки времени имени выходного файла, что потенциально полезно для программ пакетного образца, использующих perf. При выполнении оптимизации на основе выборки в LLVM мы можем затем использовать AutoFDO для преобразования профилей в профили, читаемые LLVM, и использовать llvm-profdata merge для объединения всего.

...