목적에 따라 고르는 표본
전체 흐른 시간을 기준으로 수집하거나 CPU가 동작한 시간에 맞춰 표본을 얻을 수 있다. 객체 생성 사건을 관측하는 모드와 사용자 정의 표본 기능도 제공한다. 간격을 조정해 관측의 세밀함과 실행 부담을 조절한다.
스택에서 호출 그래프까지
각 표본의 프레임별로 맨 위에 나타난 횟수와 스택 안에 포함된 횟수 및 코드 줄과 호출 대상의 정보를 집계한다. 이 자료를 모아 점진적인 호출 그래프를 만든다. 함수 자체의 비중과 하위 호출이 포함된 비중을 나누어 볼 수 있다.
수집 결과의 탐색
Ruby 코드 구간을 실행하며 결과를 얻거나 웹 응용의 미들웨어로 연결할 수 있다. 텍스트와 호출 그래프 및 소스 코드 주석 형태로 분석한다. 원시 표본을 추가 기록하면 플레임 그래프를 생성해 경로의 비중을 탐색할 수도 있다.
관련 문서
rbspy / Speedscope / 플레임 그래프 / Ruby / 프로파일링 / 가비지 컬렉션