위키득계정 ↗
기술

Uftrace

Uftrace기술
분류
함수 호출 추적기
대상 예
C C플러스플러스 Rust Python
기록 예
시각 인자 반환값
활용
호출 흐름과 실행 비용 분석
Uftrace는 함수 진입과 종료를 기록해 호출 흐름을 분석하는 도구다. 사용자 함수와 라이브러리, 커널 이벤트 등을 연결해 실행 타임라인과 호출 관계를 살펴볼 수 있다.

호출 경계를 관찰하기

함수가 시작하고 끝나는 지점에 추적을 연결해 실행 순서와 걸린 시간을 기록한다. 컴파일러 계측을 사용하는 경로와 동적 패치를 이용하는 경로가 있다. 어떤 방법이 가능한지는 바이너리와 심벌 등 실제 조건에 달려 있다.

여러 계층 연결

사용자 공간 함수와 라이브러리 호출, 커널의 추적 정보 및 스케줄링 이벤트 등을 함께 활용할 수 있다. Python이나 LuaJIT 기반 스크립트로 진입과 종료 시 처리를 구성하는 기능도 있다. 모든 데이터가 기본으로 수집되는 것은 아니다.

필터와 심벌 정보

기록하거나 표시할 함수를 걸러 정보량을 줄일 수 있다. 인자와 소스 위치를 해석하려면 디버깅 정보나 알려진 함수 원형이 필요할 수 있다. 호출 횟수와 총 시간, 함수 자체의 비용을 구분해 병목을 판단한다.

관련 문서

VizTracer / Frida / DynamoRIO / Trace-cmd