Об этом проекте
py-spy — это профилировщик выборки, написанный на Rust, предназначенный для анализа программ на Python с чрезвычайно низким накладным расходом. Поскольку он работает в отдельном процессе и напрямую читает память целевой программы, он безопасен для использования в производственной среде.
Основные возможности включают:
- **Неинтрузивное профилирование**: визуализация времени, затраченного на функции, без перезапуска программы или изменения исходного кода.
- **Три основных режима**:
- `record`: генерирует профили в форматах, таких как интерактивные SVG-флейм-графы или файлы speedscope.
- `top`: предоставляет живой обзор высокого уровня функций, consuming the most time, аналогичный команде Unix top.
- `dump`: сбрасывает текущий стек вызовов для каждого потока Python, включая необязательные локальные переменные.
- **Широкая совместимость**: поддерживает Linux, OSX, Windows и FreeBSD, а также совместим с версиями CPython 2.3-2.7 и 3.3-3.14.
- **Расширенные функции**:
- Поддержка профилирования нативных расширений C/C++ или Cython.
- Возможность профилирования субпроцессов (например, multiprocessing или пулов воркеров gunicorn).
- Обнаружение GIL (Global Interpreter Lock) для фильтрации потоков, удерживающих блокировку.
- Неблокирующий режим, позволяющий избежать полной приостановки целевого процесса.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.