Conjunto configurable de paneles para Django que muestran en el navegador información de depuración sobre cada solicitud y respuesta.
jazzband/django-silk
Profiler en tiempo real e interfaz de inspección para Django que registra solicitudes, consultas SQL y bloques de código para encontrar puntos lentos.
- Estrellas
- 5,004
- Forks
- 381
- Issues abiertos
- 132
- Último commit
- hace 3 días
¿Qué es?
Silk es una herramienta de profiling para aplicaciones Django. Su middleware intercepta cada solicitud y respuesta HTTP, y un wrapper de la ejecución de SQL registra las consultas a la base de datos que desencadena cada solicitud. Los datos se guardan en la base de datos configurada y se muestran en una interfaz web integrada en /silk/, donde puedes filtrar solicitudes y consultar el tiempo transcurrido, la cantidad de consultas, el tiempo de consulta, los encabezados y los cuerpos.
Para un análisis más detallado, Silk puede ejecutar el cProfile de Python en cada solicitud y mostrar el resultado en la interfaz, opcionalmente con un grafo de llamadas y un archivo .prof descargable para herramientas como snakeviz. Un decorador y un administrador de contexto permiten perfilar funciones o bloques específicos, y el profiling dinámico puede envolver funciones de módulos que no puedes editar. Silk también genera código curl y Python para volver a ejecutar una solicitud registrada.
El acceso se puede restringir mediante la autenticación y los permisos de Django, y se enmascaran las claves confidenciales, como contraseñas y tokens. El registro se puede limitar por porcentaje, código de estado o ruta, y los registros antiguos se pueden eliminar mediante recolección de basura.
Funciones clave
- 01Registra solicitudes, respuestas, encabezados y cuerpos mediante el middleware de Django.
- 02Registra las consultas SQL de cada solicitud, incluidos el tiempo de ejecución y las trazas de pila.
- 03Ejecuta cProfile en cada solicitud y puede generar grafos de llamadas y archivos .prof descargables.
- 04Permite perfilar funciones o bloques de código específicos con un decorador o un administrador de contexto.
- 05Genera código curl y Python para volver a ejecutar solicitudes registradas.
- 06Admite autenticación, permisos y enmascaramiento de claves confidenciales.
Casos de uso
- Encontrar problemas de consultas N+1 en una vista lenta de Django.
- Perfilar una función específica o un bloque de lógica de negocio en desarrollo o staging.
- Investigar errores en producción registrando solo las solicitudes con determinados códigos de estado.
- Compartir una solicitud reproducible como un comando curl o un fragmento de prueba en Python.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es django-silk?
- Profiler en tiempo real e interfaz de inspección para Django que registra solicitudes, consultas SQL y bloques de código para encontrar puntos lentos. Silk es una herramienta de profiling para aplicaciones Django. Su middleware intercepta cada solicitud y respuesta HTTP, y un wrapper de la ejecución de SQL registra las consultas a la base de datos que desencadena cada solicitud. Los datos se guardan en la base de datos configurada y se muestran en una interfaz web integrada en /silk/, donde puedes filtrar solicitudes y consultar el tiempo transcurrido, la cantidad de consultas, el tiempo de consulta, los encabezados y los cuerpos.
- ¿django-silk es gratuito? ¿Qué licencia tiene?
- django-silk es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿django-silk sigue mantenido?
- Mantenimiento activo. El último commit de django-silk fue el 3 nov 2026.
- ¿Para qué puedo usar django-silk?
- Encontrar problemas de consultas N+1 en una vista lenta de Django. Perfilar una función específica o un bloque de lógica de negocio en desarrollo o staging. Investigar errores en producción registrando solo las solicitudes con determinados códigos de estado. Compartir una solicitud reproducible como un comando curl o un fragmento de prueba en Python.
- ¿Dónde consigo django-silk?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jazzband/django-silk
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plataforma de profiling continuo que recopila perfiles de CPU, memoria y E/S de aplicaciones en ejecución para identificar el código lento hasta llegar a la línea concreta.
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.
Herramienta de línea de comandos y web para visualizar y analizar datos de perfiles en formato profile.proto.
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.
Profiler línea por línea para Python que muestra cuánto tarda en ejecutarse cada línea del código fuente de una función decorada.