Skip to main content

systrace

id: systrace title: Systrace

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

예제

Systrace는 자바스크립트(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는 프로파일링을 시작하고 종료하는 데 사용된다. 프로파일링의 종료는 다른 스레드에서 발생하거나 현재 스택 프레임 외부에서 일어날 수 있다. 예를 들어, await를 사용할 때 반환된 쿠키 변수를 endAsyncEvent 호출의 입력으로 사용하여 프로파일링을 종료한다.

endAsyncEvent()

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

counterEvent()

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

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