Systrace
Systrace
는 표준 안드로이드 마커 기반 프로파일링 도구다. 안드로이드 플랫폼 도구 패키지를 설치하면 함께 설치된다. 프로파일링 대상 코드 블록은 시작/종료 마커로 둘러싸여 있으며, 이는 다채로운 차트 형태로 시각화된다. 안드로이드 SDK와 리액트 네이티브 프레임워크 모두 시각화할 수 있는 표준 마커를 제공한다.
예제
Systrace
는 JavaScript(JS) 이벤트에 태그와 정수 값을 붙여 표시할 수 있게 해준다. EasyProfiler에서 시간이 측정되지 않는 JS 이벤트를 캡처해 보자.
참고 자료
메서드
isEnabled()
tsx
static isEnabled(): boolean;
beginEvent()
tsx
static beginEvent(eventName: string | (() => string), args?: EventArgs);
beginEvent
와 endEvent
는 동일한 호출 스택 프레임 내에서 프로파일링을 시작하고 종료하는 데 사용된다.
endEvent()
tsx
static endEvent(args?: EventArgs);
beginAsyncEvent()
tsx
static beginAsyncEvent(
eventName: string | (() => string),
args?: EventArgs,
): number;
beginAsyncEvent
와 endAsyncEvent
는 프로파일링을 시작하고 종료하는 데 사용된다. endAsyncEvent
는 다른 스레드에서 실행되거나 현재 스택 프레임 외부에서 발생할 수 있다. 예를 들어, 반환된 쿠키 변수를 endAsyncEvent
호출에 입력으로 사용해 프로파일링을 종료한다.
endAsyncEvent()
tsx
static endAsyncEvent(
eventName: EventName,
cookie: number,
args?: EventArgs,
);
counterEvent()
tsx
static counterEvent(eventName: string | (() => string), value: number);
프로파일 이름에 해당하는 값을 systrace 타임라인에 등록한다.