Repolode
jazzband

jazzband/django-silk

Profiler em tempo real e interface de inspeção para Django que registra requisições, consultas SQL e blocos de código para ajudar a encontrar gargalos.

Estrelas
5,005
Forks
381
Issues abertas
132
Último commit
há 4 dias

O que é?

Silk é uma ferramenta de profiling para aplicações Django. Seu middleware intercepta cada requisição e resposta HTTP, e um wrapper em torno da execução de SQL registra as consultas ao banco de dados disparadas por cada requisição. Os dados são armazenados no banco de dados configurado e exibidos em uma interface web integrada em /silk/, onde é possível filtrar requisições e consultar o tempo gasto, a quantidade de consultas, o tempo das consultas, os headers e os corpos.

Para análises mais detalhadas, o Silk pode executar o cProfile do Python em cada requisição e exibir o resultado na interface, opcionalmente com um grafo de chamadas e um arquivo .prof para baixar e usar em ferramentas como snakeviz. Um decorator e um context manager permitem fazer profiling de funções ou blocos específicos, e o profiling dinâmico pode envolver funções de módulos que você não pode editar. O Silk também gera código curl e Python para reproduzir uma requisição registrada.

O acesso pode ser restrito com autenticação e permissões do Django, e chaves sensíveis, como senhas e tokens, são mascaradas. É possível limitar a gravação por porcentagem, código de status ou caminho, e remover registros antigos com coleta de lixo.

Recursos principais

  • 01Registra requisições, respostas, headers e corpos por meio do middleware do Django.
  • 02Rastreia consultas SQL por requisição, incluindo tempo de execução e stack traces.
  • 03Executa o cProfile em cada requisição e pode gerar grafos de chamadas e arquivos .prof para baixar.
  • 04Faz profiling de funções ou blocos de código específicos com um decorator ou context manager.
  • 05Gera código curl e Python para reproduzir requisições registradas.
  • 06Oferece suporte a autenticação, permissões e mascaramento de chaves sensíveis.

Casos de uso

  • Encontrar problemas de consultas N+1 em uma view lenta do Django.
  • Fazer profiling de uma função ou bloco específico de lógica de negócio em desenvolvimento ou staging.
  • Investigar erros em produção gravando apenas requisições com os códigos de status escolhidos.
  • Compartilhar uma requisição reproduzível como comando curl ou trecho de teste em Python.

Em coleções

Tópicos

Perguntas frequentes

O que é django-silk?
Profiler em tempo real e interface de inspeção para Django que registra requisições, consultas SQL e blocos de código para ajudar a encontrar gargalos. Silk é uma ferramenta de profiling para aplicações Django. Seu middleware intercepta cada requisição e resposta HTTP, e um wrapper em torno da execução de SQL registra as consultas ao banco de dados disparadas por cada requisição. Os dados são armazenados no banco de dados configurado e exibidos em uma interface web integrada em /silk/, onde é possível filtrar requisições e consultar o tempo gasto, a quantidade de consultas, o tempo das consultas, os headers e os corpos.
django-silk é gratuito? Qual é a licença?
django-silk é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
django-silk ainda é mantido?
Manutenção ativa. O último commit de django-silk foi em 3 de nov. de 2026.
Para que posso usar django-silk?
Encontrar problemas de consultas N+1 em uma view lenta do Django. Fazer profiling de uma função ou bloco específico de lógica de negócio em desenvolvimento ou staging. Investigar erros em produção gravando apenas requisições com os códigos de status escolhidos. Compartilhar uma requisição reproduzível como comando curl ou trecho de teste em Python.
Onde consigo django-silk?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jazzband/django-silk

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados