Skip to main content
Version: Next

Systrace

Systrace는 표준 안드로이드 마커 기반 프로파일링 도구다. 안드로이드 플랫폼 도구 패키지를 설치하면 함께 설치된다. 프로파일링 대상 코드 블록은 시작/종료 마커로 둘러싸여 있으며, 이는 다채로운 차트 형태로 시각화된다. 안드로이드 SDK와 리액트 네이티브 프레임워크 모두 시각화할 수 있는 표준 마커를 제공한다.

예제

Systrace는 JavaScript(JS) 이벤트에 태그와 정수 값을 붙여 표시할 수 있게 해준다. EasyProfiler에서 시간이 측정되지 않는 JS 이벤트를 캡처해 보자.

참고 자료

메서드

isEnabled()

tsx
static isEnabled(): boolean;

beginEvent()

tsx
static beginEvent(eventName: string | (() => string), args?: EventArgs);

beginEventendEvent는 동일한 호출 스택 프레임 내에서 프로파일링을 시작하고 종료하는 데 사용된다.

endEvent()

tsx
static endEvent(args?: EventArgs);

beginAsyncEvent()

tsx
static beginAsyncEvent(
eventName: string | (() => string),
args?: EventArgs,
): number;

beginAsyncEventendAsyncEvent는 프로파일링을 시작하고 종료하는 데 사용된다. endAsyncEvent는 다른 스레드에서 실행되거나 현재 스택 프레임 외부에서 발생할 수 있다. 예를 들어, 반환된 쿠키 변수를 endAsyncEvent 호출에 입력으로 사용해 프로파일링을 종료한다.

endAsyncEvent()

tsx
static endAsyncEvent(
eventName: EventName,
cookie: number,
args?: EventArgs,
);

counterEvent()

tsx
static counterEvent(eventName: string | (() => string), value: number);

프로파일 이름에 해당하는 값을 systrace 타임라인에 등록한다.