Swift에서 Instruments의 Points of Interest 활용법

Swift에서 Instruments의 Points of Interest 활용법

1. 개요

Instruments로 앱의 성능을 분석할 때, 복잡한 로그와 다양한 이벤트가 한데 섞여 있으면 “정확히 어떤 시점에 문제가 발생했는지” 파악하기 어려워요.

이럴 때 Instruments의 Points of Interest(POI) 기능을 활용하면, 직접 관심 있는 지점을 지정해 타임라인에 표시할 수 있기 때문에, 중요한 이벤트를 한눈에 구분하고 정확하게 성능을 분석할 수 있어요.

2. Point of Interest란?

Point of Interest는 Instruments 타임라인에 개발자가 직접 “관심 구간”을 표시할 수 있는 기능이에요. 이를 통해 성능 분석 중에 중요한 지점을 쉽게 식별할 수 있어요. TimeProfiler

3. 사용법

3-1. OSSignposter 생성

import OSLog

let signposter = OSSignposter(subsystem: Bundle.main.bundleIdentifier!, category: .pointsOfInterest)

3-2. 단일 이벤트 마커 남기기

특정 버튼을 눌렀을 때, 혹은 특정 함수 진입 시점에 POI를 남길 수 있어요.

signposter.emitEvent("버튼 클릭")
// or
signposter.emitEvent(#function)

Emit Event

3-3. 구간(Interval) 마커 남기기

let interval = signposter.beginInterval("구간 마커 + 무거운 작업")
heavyTask()
signposter.endInterval("구간 마커 + 무거운 작업", interval)

Emit Interval

4. 왜 Point of Interest를 사용해야할까?

POI 없이 Time Profiler만 썼을 때의 불편함

POI 도입 후