Repolode
gaogaotiantian

gaogaotiantian/viztracer

Низконакладной трассировщик Python, который записывает вызовы функций и показывает выполнение кода на интерактивной временной шкале.

Звёзды
7,775
Форки
480
Открытые issues
33
Последний коммит
в прошлом месяце

Что это?

VizTracer отслеживает выполнение Python-кода и показывает результат на интерактивной временной шкале в браузерном просмотрщике на базе Perfetto. Временная шкала фиксирует вход и выход из каждой функции вместе с её исходным кодом — это помогает разбираться в неожиданном ходе выполнения программы и находить участки, на которые уходит время.

Большинство функций доступны без изменения исходного кода: достаточно запустить скрипт через команду viztracer или обернуть нужный участок в контекстный менеджер VizTracer, а затем открыть созданный файл result.json с помощью vizviewer. Также поддерживаются магические команды Jupyter для ячеек, запись событий PyTorch на CPU и GPU и удалённое подключение к работающим процессам.

VizTracer поддерживает threading, multiprocessing, subprocess, os.fork, concurrent.futures и asyncio. Фильтры по минимальной длительности, глубине стека и включаемым или исключаемым файлам помогают уменьшить размер трассировки. Программа работает на Linux, macOS и Windows и устанавливается через pip.

Ключевые возможности

  • 01Записывает вход и выход из функций на временной шкале вместе с исходным кодом.
  • 02Запускает скрипты, модули и консольные скрипты без изменения исходного кода.
  • 03Поддерживает threading, multiprocessing, subprocess, asyncio и PyTorch.
  • 04Предлагает фильтры по минимальной длительности, глубине стека и включению или исключению файлов.
  • 05Позволяет удалённо подключаться к работающим процессам Python.
  • 06Работает на Linux, macOS и Windows.

Сценарии использования

  • Поиск причин неожиданного хода выполнения в многопоточной или асинхронной программе на Python.
  • Выявление вызовов функций, на которые приходится основная часть времени выполнения медленного скрипта.
  • Анализ выполнения моделей PyTorch, включая события GPU.
  • Изучение поведения длительно работающего процесса через подключение к нему.

Быстрый старт

  1. 1

    Установите VizTracer с помощью pip

    pip install viztracer
  2. 2

    Запустите трассировку скрипта из командной строки

    viztracer my_script.py arg1 arg2
  3. 3

    Откройте созданный файл result.json в просмотрщике

    vizviewer result.json

В подборках

Темы

Частые вопросы

Что такое viztracer?
Низконакладной трассировщик Python, который записывает вызовы функций и показывает выполнение кода на интерактивной временной шкале. VizTracer отслеживает выполнение Python-кода и показывает результат на интерактивной временной шкале в браузерном просмотрщике на базе Perfetto. Временная шкала фиксирует вход и выход из каждой функции вместе с её исходным кодом — это помогает разбираться в неожиданном ходе выполнения программы и находить участки, на которые уходит время.
viztracer можно использовать бесплатно? Какая у него лицензия?
viztracer распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
viztracer всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в viztracer — 26 сент. 2026 г..
Для чего можно использовать viztracer?
Поиск причин неожиданного хода выполнения в многопоточной или асинхронной программе на Python. Выявление вызовов функций, на которые приходится основная часть времени выполнения медленного скрипта. Анализ выполнения моделей PyTorch, включая события GPU. Изучение поведения длительно работающего процесса через подключение к нему.
Как установить viztracer?
Установите VizTracer с помощью pip: pip install viztracer Запустите трассировку скрипта из командной строки: viztracer my_script.py arg1 arg2 Откройте созданный файл result.json в просмотрщике: vizviewer result.json
Где скачать viztracer?
Исходный код и инструкции по установке — на GitHub: https://github.com/gaogaotiantian/viztracer

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Профилировщик памяти для Python: отслеживает выделения памяти в Python-коде, нативных расширениях и интерпретаторе и формирует отчёты нескольких типов.

15,4 тыс.+12 за неделю486PythonApache-2.0Активно поддерживаетсяОбновлён 4 дня назад