TGViewer
Инструменты программиста Инструменты программиста @prog_tools · 12.9K subscribers
Post #2895 1.23K
Сервис на проде внезапно ест процессор. Перезапускать с профилировщиком нельзя: проблема как раз пропадёт.

py-spy подключается к уже работающему процессу Python по идентификатору и показывает, где тот проводит время. Код менять не нужно, перезапускать тоже, сам процесс при этом продолжает работать.

🔘 py-spy top --pid 1234 — живой список горячих функций, как top, только по функциям;
🔘 py-spy record -o profile.svg --pid 1234 — запись flame graph в файл;
🔘 py-spy dump --pid 1234 — стеки всех потоков прямо сейчас, полезно, когда процесс завис;
🔘 --locals добавляет к стекам значения локальных переменных;
🔘 --subprocesses включает дочерние процессы и обработчики очередей;
🔘 --native показывает и нативные расширения, а --gil отделяет время под глобальной блокировкой;
🔘 --nonblocking не приостанавливает процесс ради снимка — чуть менее точно, зато безопаснее на проде.

Встроенный cProfile требует запускать программу под собой, pyinstrument — правки кода. Если нужен разбор ещё и памяти с видеокартой, смотрите в сторону Scalene, но для «зайти и посмотреть, что происходит прямо сейчас» py-spy проще.

15,2 тысячи звёзд. Язык: Rust. Лицензия: MIT.

@prog_tools
  • ❤ 2
  • 👍 2
More from @prog_tools
  1. Sep 20, 2026Как переходить между каталогами с zoxide zoxide запоминает, какие каталоги вы открываете ч…
  2. Sep 20, 2026Как искать по коду с ripgrep с учётом .gitignore ripgrep (rg) рекурсивно ищет строки по ре…
  3. Sep 19, 2026Три вещи, которые невозможно объяснить человеку, родившемуся после 2005-го: зачем нужен бы…
  4. Sep 19, 2026Task: кроссплатформенный запуск задач проекта Task — быстрый инструмент сборки для повторя…
  5. Sep 19, 2026Как запускать и тестировать HTTP-запросы с Hurl Hurl — командная утилита для HTTP-запросов…
  6. Sep 18, 2026Tokei считает строки кода и отделяет их от комментариев Tokei — утилита командной строки д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →