Repolode
jazzband

jazzband/django-silk

느린 구간을 찾도록 Django 요청, SQL 쿼리, 코드 블록을 기록하는 실시간 프로파일러 및 검사 UI입니다.

스타
5,004
포크
381
열린 이슈
132
마지막 커밋
3일 전

어떤 프로젝트인가요?

Silk는 Django 애플리케이션을 위한 프로파일링 도구입니다. 미들웨어가 각 HTTP 요청과 응답을 가로채고, SQL 실행을 감싸는 래퍼가 요청마다 발생한 데이터베이스 쿼리를 기록합니다. 데이터는 설정된 데이터베이스에 저장되며, 내장 웹 UI(/silk/)에서 확인할 수 있습니다. UI에서 요청을 필터링하고 처리 시간, 쿼리 수, 쿼리 시간, 헤더와 본문을 살펴볼 수 있습니다.

더 심층적으로 분석할 때는 Silk가 각 요청에서 Python의 cProfile을 실행하고 결과를 UI에 표시할 수 있으며, 선택적으로 호출 그래프와 snakeviz 같은 도구에서 사용할 수 있는 다운로드 가능한 .prof 파일도 제공합니다. 데코레이터와 컨텍스트 매니저를 사용하면 특정 함수나 코드 블록을 프로파일링할 수 있고, 동적 프로파일링을 이용하면 직접 수정할 수 없는 모듈의 함수도 감쌀 수 있습니다. 또한 Silk는 기록된 요청을 재현할 수 있도록 curl 및 Python 코드를 생성합니다.

Django 인증과 권한으로 접근을 제한할 수 있으며, 비밀번호와 토큰 같은 민감한 키는 마스킹됩니다. 기록 범위는 비율, 상태 코드 또는 경로로 제한할 수 있고, 오래된 기록은 가비지 컬렉션으로 정리할 수 있습니다.

핵심 기능

  • 01Django 미들웨어를 통해 요청, 응답, 헤더와 본문을 기록합니다.
  • 02요청별 SQL 쿼리와 실행 시간, 스택 트레이스를 추적합니다.
  • 03요청마다 cProfile을 실행하고 호출 그래프와 .prof 다운로드 파일을 생성할 수 있습니다.
  • 04데코레이터나 컨텍스트 매니저로 특정 함수 또는 코드 블록을 프로파일링합니다.
  • 05기록된 요청을 재현할 curl 및 Python 코드를 생성합니다.
  • 06인증, 권한 설정과 민감한 키 마스킹을 지원합니다.

활용 사례

  • 느린 Django 뷰에서 N+1 쿼리 문제를 찾습니다.
  • 개발 또는 스테이징 환경에서 특정 함수나 비즈니스 로직 블록을 프로파일링합니다.
  • 선택한 상태 코드의 요청만 기록해 프로덕션 오류를 조사합니다.
  • 재현 가능한 요청을 curl 명령이나 Python 테스트 코드로 공유합니다.

포함된 컬렉션

토픽

자주 묻는 질문

django-silk은(는) 무엇인가요?
느린 구간을 찾도록 Django 요청, SQL 쿼리, 코드 블록을 기록하는 실시간 프로파일러 및 검사 UI입니다. Silk는 Django 애플리케이션을 위한 프로파일링 도구입니다. 미들웨어가 각 HTTP 요청과 응답을 가로채고, SQL 실행을 감싸는 래퍼가 요청마다 발생한 데이터베이스 쿼리를 기록합니다. 데이터는 설정된 데이터베이스에 저장되며, 내장 웹 UI(/silk/)에서 확인할 수 있습니다. UI에서 요청을 필터링하고 처리 시간, 쿼리 수, 쿼리 시간, 헤더와 본문을 살펴볼 수 있습니다.
django-silk은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
django-silk은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
django-silk은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. django-silk의 마지막 커밋은 2026년 11월 3일입니다.
django-silk은(는) 어디에 사용할 수 있나요?
느린 Django 뷰에서 N+1 쿼리 문제를 찾습니다. 개발 또는 스테이징 환경에서 특정 함수나 비즈니스 로직 블록을 프로파일링합니다. 선택한 상태 코드의 요청만 기록해 프로덕션 오류를 조사합니다. 재현 가능한 요청을 curl 명령이나 Python 테스트 코드로 공유합니다.
django-silk은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jazzband/django-silk

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

Python 코드, 네이티브 확장 모듈, 인터프리터의 메모리 할당을 추적하고 여러 유형의 리포트를 생성하는 메모리 프로파일러입니다.

개발 도구#python#memory-profiler#memory-leak
1.5만+14 이번 주484PythonApache-2.0활발히 관리됨업데이트 3일 전