Kubernetes 클러스터와 Linux 호스트의 시스템 데이터를 수집하고 살펴보는 eBPF 도구 키트
grafana/pyroscope
실행 중인 애플리케이션의 CPU, 메모리, I/O 프로파일을 수집해 느린 코드의 원인을 개별 코드 줄까지 추적하는 지속 프로파일링 플랫폼입니다.
대체할 수 있는 제품:Datadog Continuous Profiler
- 스타
- 11,703
- 포크
- 827
- 열린 이슈
- 419
- 마지막 커밋
- 13시간 전
어떤 프로젝트인가요?
Grafana Pyroscope는 애플리케이션의 성능 병목을 찾기 위한 지속 프로파일링 플랫폼입니다. 시간에 따른 CPU, 메모리, I/O 사용량을 기록하므로 개발자는 실시간 장애와 장기 추세를 살펴보고, 리소스를 소비하는 코드 줄까지 확인할 수 있습니다.
프로파일은 Go, Java, Python, Ruby, Node.js, .NET, Rust용 언어 SDK, pull 또는 push 방식의 Grafana Alloy, 또는 OpenTelemetry eBPF profiler 같은 OpenTelemetry 호환 소스의 OTLP를 통해 서버로 전송됩니다. 결과는 flame graph와 비교 기능을 제공하는 쿼리 없는 인터페이스인 Grafana Profiles Drilldown에서 살펴볼 수 있습니다.
버전 2는 메모리 내 ingester나 로컬 디스크 없이 프로파일을 object storage에 직접 기록합니다. Docker, Homebrew 또는 릴리스 바이너리로 서버를 시작할 수 있으며, 4040 포트에서 요청을 수신합니다.
핵심 기능
- 01실행 중인 애플리케이션에서 CPU, 메모리, I/O 프로파일을 수집합니다.
- 02Go, Java, Python, Ruby, Node.js, .NET, Rust용 SDK를 제공합니다.
- 03Grafana Alloy와 OpenTelemetry 소스의 OTLP를 통해 프로파일을 받습니다.
- 04Grafana Profiles Drilldown에서 쿼리 없이 flame graph를 살펴볼 수 있는 UI를 제공합니다.
- 05v2 아키텍처에서는 프로파일을 object storage에 직접 저장합니다.
활용 사례
- 운영 환경에서 느린 서비스의 CPU를 가장 많이 사용하는 함수 찾기
- 릴리스별 메모리 할당량 증가 추적
- 장애 중 코드 줄 단위 상세 정보로 지연 시간 문제 조사
- 시간에 따른 프로파일을 비교해 성능 회귀 감지
빠른 시작
- 1
Docker로 Pyroscope 서버를 로컬에서 실행하세요
docker run -it -p 4040:4040 grafana/pyroscope - 2
또는 Homebrew로 설치한 후 서비스를 시작하세요
brew install pyroscope-io/brew/pyroscope - 3
Homebrew 서비스를 시작하세요
brew services start pyroscope
사용 전 알아둘 점
- 네트워크 서비스를 제공할 때 의무 사항이 따르는 카피레프트 라이선스인 AGPL-3.0에 따라 라이선스가 부여됩니다.
- Kubernetes, 패키지 또는 프로덕션 환경을 위한 전체 설정에는 별도의 문서와 추가 작업이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- pyroscope은(는) 무엇인가요?
- 실행 중인 애플리케이션의 CPU, 메모리, I/O 프로파일을 수집해 느린 코드의 원인을 개별 코드 줄까지 추적하는 지속 프로파일링 플랫폼입니다. Grafana Pyroscope는 애플리케이션의 성능 병목을 찾기 위한 지속 프로파일링 플랫폼입니다. 시간에 따른 CPU, 메모리, I/O 사용량을 기록하므로 개발자는 실시간 장애와 장기 추세를 살펴보고, 리소스를 소비하는 코드 줄까지 확인할 수 있습니다.
- pyroscope은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- pyroscope은(는) AGPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- pyroscope은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. pyroscope의 마지막 커밋은 2026년 10월 24일입니다.
- pyroscope은(는) 어디에 사용할 수 있나요?
- 운영 환경에서 느린 서비스의 CPU를 가장 많이 사용하는 함수 찾기 릴리스별 메모리 할당량 증가 추적 장애 중 코드 줄 단위 상세 정보로 지연 시간 문제 조사 시간에 따른 프로파일을 비교해 성능 회귀 감지
- pyroscope는 어떻게 설치하나요?
- Docker로 Pyroscope 서버를 로컬에서 실행하세요: docker run -it -p 4040:4040 grafana/pyroscope 또는 Homebrew로 설치한 후 서비스를 시작하세요: brew install pyroscope-io/brew/pyroscope Homebrew 서비스를 시작하세요: brew services start pyroscope
- pyroscope은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/grafana/pyroscope
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
실행 중인 컨테이너의 리소스 사용량과 성능 데이터를 수집·집계·내보내고, 웹 UI와 REST API를 제공하는 Go 데몬입니다.
실행 중인 eBPF 프로그램의 런타임, 초당 이벤트 수, 예상 CPU 사용량을 보여주는 터미널 기반 top 스타일 모니터입니다.
가동 시간 모니터링, 상태 페이지, 인시던트 관리, 온콜 알림, 로그, 트레이스, 메트릭을 하나로 통합한 오픈소스 셀프 호스팅 관측성 플랫폼입니다.
Kubernetes용 실시간 로그 대시보드로, 워크로드의 모든 컨테이너 로그를 하나의 타임라인으로 모아 브라우저나 터미널에서 볼 수 있습니다.
네트워크 트래픽, 성능, 뷰, 로그와 앱 데이터를 살펴볼 수 있는 플로팅 디버그 메뉴를 제공하는 iOS 앱용 인앱 디버깅 툴킷입니다.