Repolode
jazzband

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