위키득계정 ↗
기술

rbspy

rbspy기술
주요 대상
Ruby 프로세스
분석 방식
호출 표본 수집
연결 방식
실행 중 프로세스 또는 새 실행
구현 언어
Rust
rbspy는 실행 중인 Ruby 프로그램의 호출 정보를 표본으로 수집하는 프로파일러다. 프로세스를 다시 시작하지 않고 관측할 수 있으며 원시 기록과 플레임 그래프를 남겨 나중에 분석할 수 있다.

실행 중 프로세스의 관측

이미 동작하는 Ruby 프로그램의 프로세스 식별자를 지정해 프로파일링을 시작한다. 프로그램을 다시 실행하기 어려운 상황에서 현재 어떤 함수가 호출되는지 살피는 용도로 활용한다. 새 Ruby 스크립트를 실행하며 관측하는 방식도 지원한다.

실시간 요약과 저장한 자료

관측 중에는 많이 실행되는 함수의 요약을 볼 수 있다. 원시 프로파일 자료를 디스크에 저장하고 플레임 그래프도 생성해 더 자세한 분석에 활용한다. 수집한 결과를 남기므로 같은 실행의 기록을 나중에 다른 방식으로 조사할 수 있다.

도구 구성과 환경

Rust로 구현되어 독립 실행 파일로 사용할 수 있으며 Rust 라이브러리로 연결하는 방법도 제공한다. Linux와 macOS 및 Windows와 FreeBSD를 지원한다. 라이브러리 API와 실행 도구의 기능 범위는 사용하는 버전에 맞춰 구분할 수 있다.

관련 문서

StackProf / Speedscope / 플레임 그래프 / Ruby / Rust / 프로파일링