프로젝트 소개
Perforator는 Google-Wide Profiling에서 영감을 받아 Yandex가 개발한 오픈소스 지속적 프로파일링 애플리케이션입니다. 대규모 데이터센터를 위해 설계되었으며 이미 수만 대의 서버에 배포되어 있습니다. 이 도구는 eBPF를 사용해 프로덕션 환경에서 CPU 프로파일을 수집하며, 일반적인 x86 64비트 Linux 호스트에서 호스트 CPU의 1% 미만, 약 512MB의 RAM을 사용하는 것으로 알려져 있습니다.
주요 기능으로는 eBPF를 통한 커널 및 사용자 공간 스택의 효율적인 수집, 프로파일과 바이너리를 위한 확장 가능한 스토리지, 호스트에서 프레임 포인터나 디버그 심볼 없이 수행되는 언와인딩, 그리고 플레임그래프를 통해 CPU 사용량을 조사할 수 있는 UI와 쿼리 언어가 있습니다. C++, C, Go, Rust를 지원하며 Java와 Python은 실험적으로 지원합니다. Perforator는 AutoFDO를 통한 Profile Guided Optimization용 sPGO 프로파일도 생성할 수 있습니다.
사용자는 perforator record CLI 명령으로 로컬 머신을 프로파일링하거나 제공된 Helm 차트를 사용해 Kubernetes 클러스터에 배포할 수 있습니다. 이 프로젝트는 Apache 2.0 라이선스로 제공되며, 일부 eBPF 프로그램 소스 코드와 OpenJDK 프로파일링 지원 부분은 GPL 2.0을 따릅니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.