Ssylka

Perforator: эффективное непрерывное профилирование с открытым исходным кодом

Perforator – это новая система непрерывного профилирования, разработанная для анализа производительности программ в Linux. Она использует eBPF для сбора стеков в ядре, что обеспечивает высокую точность и низкий оверхед. Perforator способен профилировать широкий спектр событий, включая такты CPU и ввод-вывод, и поддерживает раскрутку стека через DWARF, упрощая процесс оптимизации производительности.
Perforator: эффективное непрерывное профилирование с открытым исходным кодом
Изображение носит иллюстративный характер

Система состоит из трех основных компонентов: агента, работающего на каждом хосте и собирающего профили; хранилища, где профили и бинарные файлы хранятся в S3 и ClickHouse; и бэкенда, предоставляющего gRPC-интерфейс для пользователей и агентов. Perforator поддерживает нативные языки программирования (C++, C, Go, Rust) и JIT-компилируемые языки, а также предлагает интеграцию с FDO для оптимизации на основе профилей.

Ключевым преимуществом Perforator является его способность генерировать быстрые и интерактивные флеймграфы, позволяющие легко находить узкие места в коде. Кроме того, система может быть использована для профилирования по срезам, например, для анализа производительности в A/B-тестах, и сбора стеков при фатальных сигналах, что упрощает отладку.

Perforator также предоставляет локальный режим для замены perf record, что позволяет быстро профилировать процессы или всю систему. Он поддерживает символизацию бинарных файлов через debuginfod. Несмотря на некоторые ограничения, такие как необходимость CAP_SYS_ADMIN и поддержка Linux 5.4+, Perforator является мощным инструментом для оптимизации производительности.


Новое на сайте

18884Знаете ли вы, что приматы появились до вымирания динозавров, и готовы ли проверить свои... 18883Четыреста колец в туманности эмбрион раскрыли тридцатилетнюю тайну звездной эволюции 18882Телескоп Джеймс Уэбб раскрыл тайны сверхэффективной звездной фабрики стрелец B2 18881Математический анализ истинного количества сквозных отверстий в человеческом теле 18880Почему даже элитные суперраспознаватели проваливают тесты на выявление дипфейков без... 18879Шесть легендарных древних городов и столиц империй, местоположение которых до сих пор... 18878Обзор самых необычных медицинских диагнозов и клинических случаев 2025 года 18877Критическая уязвимость CVE-2025-14847 в MongoDB открывает удаленный доступ к памяти... 18876Научное обоснование классификации солнца как желтого карлика класса G2V 18875Как безграничная преданность горным гориллам привела Дайан Фосси к жестокой гибели? 18874Новый родственник спинозавра из Таиланда меняет представления об эволюции хищников Азии 18873Как новая электрохимическая технология позволяет удвоить добычу водорода и снизить... 18872Могут ли ледяные гиганты Уран и Нептун на самом деле оказаться каменными? 18871Внедрение вредоносного кода в расширение Trust Wallet привело к хищению 7 миллионов... 18870Проверка клинического мышления на основе редких медицинских случаев 2025 года