Conjunto configurável de painéis do Django que mostra informações de depuração de cada requisição e resposta no navegador.
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
Plataforma de profiling contínuo que coleta perfis de CPU, memória e I/O de aplicações em execução para rastrear código lento até linhas específicas.
Profiler de memória para Python que rastreia alocações no código Python, em extensões nativas e no interpretador, com vários tipos de relatório.
Ferramenta de linha de comando e web para visualizar e analisar dados de profiling no formato profile.proto.
Um tracer de Python de baixo overhead que registra chamadas de função e visualiza a execução do código em uma linha do tempo interativa.
Profiler linha a linha para Python que mostra quanto tempo cada linha do código-fonte de uma função decorada leva para executar.