Repolode
P403n1x87

P403n1x87/austin

실행 중인 Python 프로세스를 프로파일링하는, 오버헤드가 낮고 별도 계측이 필요 없는 C 기반 CPython 프레임 스택 샘플러입니다.

스타
2,215
포크
68
열린 이슈
10
마지막 커밋
10일 전

어떤 프로젝트인가요?

Austin은 프로세스 외부에서 인터프리터 메모리를 읽어 실행 중인 CPython 프로세스의 호출 스택을 샘플링합니다. 코드 변경이나 계측이 필요하지 않아 프로덕션을 포함한 실행 중인 애플리케이션에 연결해 시간이나 메모리를 어디에 쓰는지 확인할 수 있습니다.

출력은 MOJO라는 간결한 바이너리 형식이며, 이를 FlameGraph용 접힌 스택, Speedscope JSON 또는 Google pprof 형식으로 변환할 수 있습니다. mod_wsgi 같은 멀티프로세스 애플리케이션에서도 동작하고, 가비지 컬렉터 상태를 샘플링할 수 있으며, 프로세스의 모든 스레드에서 현재 스택을 덤프하는 'where' 모드도 제공합니다. Austin은 단일 C 바이너리로 배포되며 Linux, Windows, macOS에서 Python 3.9~3.14를 지원합니다.

핵심 기능

  • 01인터프리터 메모리를 읽어 CPython 스택을 샘플링하며 코드 계측이 필요하지 않습니다.
  • 02시간 프로파일링, 메모리 프로파일링, 두 가지를 결합한 full 모드를 지원합니다.
  • 03자식 프로세스를 추적하고 서브인터프리터를 샘플링합니다.
  • 04FlameGraph, Speedscope, pprof 형식으로 변환할 수 있는 MOJO 바이너리 데이터를 출력합니다.
  • 05실행 중인 프로세스의 모든 스레드 스택을 덤프하는 where 모드를 제공합니다.
  • 06타사 의존성 없이 단일 C 바이너리로 제공됩니다.

활용 사례

  • 코드를 수정하지 않고 Python 애플리케이션의 성능 병목을 찾습니다.
  • 오버헤드를 최소화하면서 실행 중인 프로덕션 서비스나 장시간 실행되는 스크립트를 프로파일링합니다.
  • Apache mod_wsgi 워커 같은 멀티프로세스 웹 배포 환경을 프로파일링합니다.
  • Python 프로그램의 플레임 그래프를 생성해 CPU 시간이나 메모리를 어디에 쓰는지 비교합니다.

빠른 시작

  1. 1

    pip를 사용해 PyPI에서 Austin을 설치합니다

    pip install austin-dist
  2. 2

    명령 또는 「-p PID」 옵션을 지정해 austin을 실행하여 Python 프로세스를 샘플링합니다. 옵션은 사용법 도움말을 참조하세요

사용 전 알아둘 점

  • CPython 프로세스만 프로파일링할 수 있습니다.
  • 카피레프트 라이선스인 GPL-3.0에 따라 제공되므로 코드를 재사용하는 방법이 제한될 수 있습니다.

토픽

#python#profiling#performance#debugging#flamegraph#sampling-profiler#debugging-tools

자주 묻는 질문

austin은(는) 무엇인가요?
실행 중인 Python 프로세스를 프로파일링하는, 오버헤드가 낮고 별도 계측이 필요 없는 C 기반 CPython 프레임 스택 샘플러입니다. Austin은 프로세스 외부에서 인터프리터 메모리를 읽어 실행 중인 CPython 프로세스의 호출 스택을 샘플링합니다. 코드 변경이나 계측이 필요하지 않아 프로덕션을 포함한 실행 중인 애플리케이션에 연결해 시간이나 메모리를 어디에 쓰는지 확인할 수 있습니다.
austin은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
austin은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
austin은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. austin의 마지막 커밋은 2026년 10월 28일입니다.
austin은(는) 어디에 사용할 수 있나요?
코드를 수정하지 않고 Python 애플리케이션의 성능 병목을 찾습니다. 오버헤드를 최소화하면서 실행 중인 프로덕션 서비스나 장시간 실행되는 스크립트를 프로파일링합니다. Apache mod_wsgi 워커 같은 멀티프로세스 웹 배포 환경을 프로파일링합니다. Python 프로그램의 플레임 그래프를 생성해 CPU 시간이나 메모리를 어디에 쓰는지 비교합니다.
austin는 어떻게 설치하나요?
pip를 사용해 PyPI에서 Austin을 설치합니다: pip install austin-dist 명령 또는 「-p PID」 옵션을 지정해 austin을 실행하여 Python 프로세스를 샘플링합니다. 옵션은 사용법 도움말을 참조하세요
austin은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/P403n1x87/austin

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

관련 프로젝트

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

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