Kit de depuración integrado en la app para iOS que añade un menú flotante con el que inspeccionar tráfico de red, rendimiento, vistas, registros y datos de la app.
bloomberg/memray
Un perfilador de memoria para Python que registra las asignaciones en el código Python, las extensiones nativas y el intérprete, y ofrece varios tipos de informes.
- Estrellas
- 15,389
- Forks
- 480
- Issues abiertos
- 37
- Último commit
- anteayer
¿Qué es?
Memray es un perfilador de memoria para Python. Registra las asignaciones de memoria realizadas por el código Python, los módulos de extensión nativos de C/C++ y el propio intérprete de Python, y convierte los datos capturados en informes como flame graphs, tablas, árboles y resúmenes en la terminal. Suele ejecutarse como herramienta de línea de comandos con `memray run`, y también puede usarse como biblioteca mediante un gestor de contexto Tracker.
A diferencia de los perfiladores de muestreo, Memray registra cada llamada a función, por lo que las pilas de llamadas son precisas. El seguimiento nativo se activa opcionalmente con `--native` y añade los frames de C/C++ a los resultados, lo que resulta útil cuando intervienen extensiones como numpy o pandas. El modo en vivo muestra las asignaciones en una interfaz de terminal mientras se ejecuta el programa, y la función attach permite empezar a monitorizar un proceso que ya está en ejecución.
Memray ayuda a detectar problemas de memoria habituales: encontrar el código responsable de un uso elevado de memoria, localizar fugas e identificar puntos críticos que realizan muchas asignaciones. Admite los hilos de Python y los hilos nativos. Solo funciona en Linux y macOS, y requiere Python 3.9 o posterior. El plugin de pytest pytest-memray está disponible como proyecto independiente.
Funciones clave
- 01Registra cada llamada a función para obtener pilas de llamadas precisas, a diferencia de los perfiladores de muestreo
- 02Registra asignaciones en código Python y extensiones nativas de C/C++ con `--native`
- 03Genera flame graphs, tablas HTML, árboles y resúmenes en la terminal
- 04Interfaz en vivo para inspeccionar las asignaciones en la terminal mientras se ejecuta un programa
- 05Puede conectarse a un proceso de Python que ya esté en ejecución
- 06Puede usarse como biblioteca de Python mediante un gestor de contexto Tracker
Casos de uso
- Encontrar la causa de un uso elevado de memoria en un servicio o script de Python
- Localizar fugas de memoria en aplicaciones de larga duración
- Identificar puntos críticos del código que asignan grandes cantidades de memoria
- Perfilar programas de Python que dependen de extensiones de C como numpy o pandas
Inicio rápido
- 1
Instala Memray desde PyPI con pip
python3 -m pip install memray - 2
Ejecuta tu script con el perfilador para registrar las asignaciones
python3 -m memray run my_script.py - 3
Genera un gráfico de llamas HTML a partir del archivo de resultados
memray flamegraph memray-my_script.py.2369.bin
Antes de usarlo
- Solo funciona en Linux y macOS; no se puede instalar en Windows.
- Para compilarlo desde el código fuente se necesitan bibliotecas del sistema como libunwind, lz4 y libdebuginfod.
Temas
Preguntas frecuentes
- ¿Qué es memray?
- Un perfilador de memoria para Python que registra las asignaciones en el código Python, las extensiones nativas y el intérprete, y ofrece varios tipos de informes. Memray es un perfilador de memoria para Python. Registra las asignaciones de memoria realizadas por el código Python, los módulos de extensión nativos de C/C++ y el propio intérprete de Python, y convierte los datos capturados en informes como flame graphs, tablas, árboles y resúmenes en la terminal. Suele ejecutarse como herramienta de línea de comandos con `memray run`, y también puede usarse como biblioteca mediante un gestor de contexto Tracker.
- ¿memray es gratuito? ¿Qué licencia tiene?
- memray es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿memray sigue mantenido?
- Mantenimiento activo. El último commit de memray fue el 19 oct 2026.
- ¿Para qué puedo usar memray?
- Encontrar la causa de un uso elevado de memoria en un servicio o script de Python Localizar fugas de memoria en aplicaciones de larga duración Identificar puntos críticos del código que asignan grandes cantidades de memoria Perfilar programas de Python que dependen de extensiones de C como numpy o pandas
- ¿Cómo se instala memray?
- Instala Memray desde PyPI con pip: python3 -m pip install memray Ejecuta tu script con el perfilador para registrar las asignaciones: python3 -m memray run my_script.py Genera un gráfico de llamas HTML a partir del archivo de resultados: memray flamegraph memray-my_script.py.2369.bin
- ¿Dónde consigo memray?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/bloomberg/memray
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Gestor moderno de paquetes y dependencias de Python que administra entornos virtuales, archivos de bloqueo y compilaciones según los metadatos de PEP 621 y PEP 517.
Plataforma de domótica de código abierto que funciona localmente y prioriza el control y la privacidad, a menudo en una Raspberry Pi o un servidor local.
Sistema de memoria de IA local-first que almacena el historial de conversaciones íntegro y lo recupera mediante búsqueda semántica, disponible como servidor MCP y CLI.
Un servidor MCP que permite a agentes de programación controlar e inspeccionar un navegador Chrome en ejecución con Chrome DevTools para depurar y analizar el rendimiento.
Proxy HTTP interactivo con capacidad para interceptar TLS e interfaces de consola, línea de comandos y web para inspeccionar tráfico HTTP/1, HTTP/2 y WebSocket.