Repolode
gaogaotiantian

gaogaotiantian/viztracer

Un tracer de Python de bajo impacto que registra llamadas a funciones y muestra la ejecución del código como una línea de tiempo interactiva.

Estrellas
7,775
Forks
480
Issues abiertos
33
Último commit
el mes pasado

¿Qué es?

VizTracer traza la ejecución de código Python y muestra el resultado como una línea de tiempo interactiva en un visor web basado en Perfetto. En la línea de tiempo se registra cada entrada y salida de una función junto con su código fuente, lo que resulta útil para depurar flujos de control inesperados y encontrar en qué partes se invierte el tiempo.

La mayoría de las funciones se pueden usar sin modificar el código fuente: ejecuta un script con el comando viztracer o envuelve una sección con un gestor de contexto de VizTracer, y abre el archivo result.json generado con vizviewer. También admite magias de celda de Jupyter, el registro de eventos nativos y de GPU de PyTorch, y la conexión remota a procesos en ejecución.

Incluye compatibilidad con threading, multiprocessing, subprocess, os.fork, concurrent.futures y asyncio; además, filtros como duración mínima, profundidad de pila y listas de inclusión o exclusión de archivos ayudan a reducir el tamaño de las trazas. Funciona en Linux, macOS y Windows, y se instala con pip.

Funciones clave

  • 01Registra en una línea de tiempo las entradas y salidas de funciones junto con el código fuente.
  • 02Ejecuta scripts, módulos y scripts de consola sin modificar el código fuente.
  • 03Admite threading, multiprocessing, subprocess, asyncio y PyTorch.
  • 04Ofrece filtros por duración mínima, profundidad de pila e inclusión o exclusión de archivos.
  • 05Puede conectarse a procesos Python remotos en ejecución.
  • 06Funciona en Linux, macOS y Windows.

Casos de uso

  • Depurar flujos de control inesperados en programas Python con varios hilos o asíncronos.
  • Encontrar qué llamadas a funciones concentran la mayor parte del tiempo de ejecución de un script lento.
  • Inspeccionar la ejecución de modelos de PyTorch, incluidos los eventos de GPU.
  • Investigar el comportamiento de un proceso de larga duración conectándose a él.

Inicio rápido

  1. 1

    Instala VizTracer con pip

    pip install viztracer
  2. 2

    Traza tu script desde la línea de comandos

    viztracer my_script.py arg1 arg2
  3. 3

    Abre el archivo result.json generado en el visor

    vizviewer result.json

En colecciones

Temas

Preguntas frecuentes

¿Qué es viztracer?
Un tracer de Python de bajo impacto que registra llamadas a funciones y muestra la ejecución del código como una línea de tiempo interactiva. VizTracer traza la ejecución de código Python y muestra el resultado como una línea de tiempo interactiva en un visor web basado en Perfetto. En la línea de tiempo se registra cada entrada y salida de una función junto con su código fuente, lo que resulta útil para depurar flujos de control inesperados y encontrar en qué partes se invierte el tiempo.
¿viztracer es gratuito? ¿Qué licencia tiene?
viztracer es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿viztracer sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de viztracer fue el 26 sept 2026.
¿Para qué puedo usar viztracer?
Depurar flujos de control inesperados en programas Python con varios hilos o asíncronos. Encontrar qué llamadas a funciones concentran la mayor parte del tiempo de ejecución de un script lento. Inspeccionar la ejecución de modelos de PyTorch, incluidos los eventos de GPU. Investigar el comportamiento de un proceso de larga duración conectándose a él.
¿Cómo se instala viztracer?
Instala VizTracer con pip: pip install viztracer Traza tu script desde la línea de comandos: viztracer my_script.py arg1 arg2 Abre el archivo result.json generado en el visor: vizviewer result.json
¿Dónde consigo viztracer?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gaogaotiantian/viztracer

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados