위키득계정 ↗
기술

Speedscope

Speedscope기술
도구 유형
프로파일 결과 뷰어
처리 위치
브라우저 내부
대표 화면
Time Order와 Left Heavy 및 Sandwich
입력 범위
여러 언어와 프로파일러의 기록
Speedscope는 여러 프로파일러의 결과를 브라우저에서 탐색하는 뷰어다. 호출 스택의 시간 순서와 집계된 비용 및 함수의 호출 관계를 서로 다른 화면으로 살펴 실행 비용이 집중되는 경로를 조사한다.

수집한 결과를 읽는 뷰어

Python과 JavaScript 및 Go 등 여러 환경에서 생성한 프로파일을 읽는다. py-spy와 Austin 및 Pyinstrument 같은 도구의 결과도 입력으로 사용할 수 있다. 이용자가 연 파일은 브라우저 안에서 처리하며 별도 서버로 업로드하지 않는다.

시간 순서와 합산 비용

Time Order는 입력에 기록된 순서대로 스택을 배치해 실행의 변화를 살핀다. Left Heavy는 같은 스택을 합치고 부모별로 비용이 큰 경로를 왼쪽에 놓는다. 전자는 흐름의 순서를, 후자는 반복되는 호출 경로의 전체 부담을 조사하는 데 적합하다.

함수 중심의 호출 관계

Sandwich 화면은 함수별 자체 시간과 전체 시간을 정렬하고 선택한 함수의 호출자와 피호출자를 보여 준다. 확대와 검색 및 프레임별 통계를 이용해 큰 기록 안의 경로를 좁힌다. 같은 자료를 시간과 집계 및 함수 관점에서 탐색하는 방식이다.

관련 문서

py-spy / Austin 프로파일러 / Pyinstrument / 플레임 그래프 / Perfetto / 프로파일링