프로파일러의 유형
XRay 통합 기능을 사용한 ClickHouse 프로파일링
sleepForNanoseconds 함수를
프로파일링해 보겠습니다.
XRay를 사용한 네이티브 애플리케이션 프로파일링
코드 계측하기
- 코드를 계측하려면
-fxray-instrument가 필요합니다. -fxray-instruction-threshold=1은 예시처럼 매우 작은 함수까지 포함해 모든 함수를 계측하도록 사용합니다. 기본적으로는 최소 200개의 명령어를 가진 함수만 계측합니다.
트레이스를 수집하려면 적절한 env var 값으로 프로세스를 실행합니다
XRAY_OPTIONS에 서로 다른 값을 설정하여
프로파일러가 언제 수집을 시작할지, 그리고 어떤 방식으로 수집할지를 구성할 수 있습니다.
트레이스 변환
trace_event 포맷은 파싱하기 쉽고
이미 이를 지원하는 도구도 여러 가지 있으므로, 여기서는 이 포맷을 사용하겠습니다:
트레이스 시각화
시간순
왼쪽 편중
샌드위치
문서 살펴보기
- SYSTEM INSTRUMENT — 계측 지점을 추가하거나 제거합니다.
- system.instrumentation — 계측 지점을 확인합니다.
- system.symbols — 계측 지점을 추가할 수 있는 심볼을 확인합니다.
- system.trace_log — 계측 지점을 사용해 수집된 데이터를 확인합니다.
- XRay Instrumentation
- 자세한 내용은 Debugging with XRay 문서를 참조하십시오.