Настраиваемый набор панелей Django, показывающих в браузере отладочную информацию о каждом запросе и ответе.
jazzband/django-silk
Профайлер и интерфейс для анализа Django, которые записывают запросы, SQL-запросы и блоки кода, помогая находить узкие места.
- Звёзды
- 5,005
- Форки
- 381
- Открытые issues
- 132
- Последний коммит
- 4 дня назад
Что это?
Silk — инструмент профилирования приложений на Django. Его middleware перехватывает каждый HTTP-запрос и ответ, а обёртка вокруг выполнения SQL записывает запросы к базе данных, которые вызываются при обработке каждого HTTP-запроса. Данные хранятся в настроенной базе данных и отображаются во встроенном веб-интерфейсе по адресу /silk/, где можно фильтровать запросы и смотреть время обработки, количество SQL-запросов, время их выполнения, заголовки и тела.
Для более глубокого анализа Silk может запускать Python cProfile для каждого запроса и показывать результаты в интерфейсе. При необходимости можно построить граф вызовов и скачать файл .prof для инструментов вроде snakeviz. Декоратор и контекстный менеджер позволяют профилировать отдельные функции или блоки кода, а динамическое профилирование — оборачивать функции в модулях, которые нельзя редактировать. Silk также генерирует код на curl и Python для повторного выполнения записанного запроса.
Доступ можно ограничить с помощью аутентификации и разрешений Django, а конфиденциальные данные, например пароли и токены, маскируются. Запись можно ограничить по проценту запросов, коду ответа или пути, а старые записи — удалять сборщиком мусора.
Ключевые возможности
- 01Записывает запросы, ответы, заголовки и тела с помощью middleware Django.
- 02Отслеживает SQL-запросы для каждого запроса, включая время выполнения и трассировки стека.
- 03Запускает cProfile для каждого запроса и позволяет строить графы вызовов и скачивать файлы .prof.
- 04Профилирует отдельные функции и блоки кода с помощью декоратора или контекстного менеджера.
- 05Генерирует код на curl и Python для повторного выполнения записанных запросов.
- 06Поддерживает аутентификацию, разрешения и маскировку конфиденциальных данных.
Сценарии использования
- Поиск проблем с N+1 запросами в медленном представлении Django.
- Профилирование отдельной функции или блока бизнес-логики в среде разработки или на стенде.
- Разбор ошибок в production с записью только запросов, имеющих выбранные коды ответа.
- Передача воспроизводимого запроса в виде команды curl или фрагмента Python-теста.
В подборках
Темы
Частые вопросы
- Что такое django-silk?
- Профайлер и интерфейс для анализа Django, которые записывают запросы, SQL-запросы и блоки кода, помогая находить узкие места. Silk — инструмент профилирования приложений на Django. Его middleware перехватывает каждый HTTP-запрос и ответ, а обёртка вокруг выполнения SQL записывает запросы к базе данных, которые вызываются при обработке каждого HTTP-запроса. Данные хранятся в настроенной базе данных и отображаются во встроенном веб-интерфейсе по адресу /silk/, где можно фильтровать запросы и смотреть время обработки, количество SQL-запросов, время их выполнения, заголовки и тела.
- django-silk можно использовать бесплатно? Какая у него лицензия?
- django-silk распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- django-silk всё ещё поддерживается?
- Активно поддерживается. Последний коммит в django-silk — 3 нояб. 2026 г..
- Для чего можно использовать django-silk?
- Поиск проблем с N+1 запросами в медленном представлении Django. Профилирование отдельной функции или блока бизнес-логики в среде разработки или на стенде. Разбор ошибок в production с записью только запросов, имеющих выбранные коды ответа. Передача воспроизводимого запроса в виде команды curl или фрагмента Python-теста.
- Где скачать django-silk?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jazzband/django-silk
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Платформа непрерывного профилирования: собирает профили CPU, памяти и I/O работающих приложений и помогает найти медленный код вплоть до конкретной строки.
Профилировщик памяти для Python: отслеживает выделения памяти в Python-коде, нативных расширениях и интерпретаторе и формирует отчёты нескольких типов.
Инструмент командной строки и веб-интерфейс для визуализации и анализа данных профилирования в формате profile.proto.
Низконакладной трассировщик Python, который записывает вызовы функций и показывает выполнение кода на интерактивной временной шкале.
Построчный профилировщик Python, который показывает, сколько времени занимает выполнение каждой строки декорированной функции.