빠른 시작¶
이 문서는 macOS RUM SDK를 가장 짧은 경로로 연동하여 최소한의 단계로 데이터 업로드를 검증할 수 있도록 안내합니다.
사전 준비¶
시작하기 전에 다음 준비를 완료하세요.
- 실제 사용자 모니터링(RUM) 에서 macOS 애플리케이션을 생성하고
RUM App ID를 획득합니다. - 업로드 주소와 인증 방식을 확인합니다.
- 로컬 환경 배포:
datakitUrl준비 - 공용 네트워크 DataWay:
datawayUrl및clientToken준비 - 프로젝트에 SDK 설치가 완료되었는지 확인합니다.
CocoaPods또는Swift Package Manager를 지원합니다.
통합 단계¶
- 프로젝트에
FTMacOSSDK를 설치합니다. - 애플리케이션 시작 전에
FTSDKConfig를 초기화합니다. FTRumConfig를 초기화하고 View, Action, Resource, 크래시 및 ANR(앱 멈춤) 수집을 활성화합니다.- 디버그 로그를 켜고 애플리케이션을 실행하여 창 전환 또는 네트워크 요청을 트리거합니다.
- 콘솔과 Guance 플랫폼에서 데이터가 성공적으로 업로드되었는지 확인합니다.
SDK 설치¶
설치 방법은 애플리케이션 연동을 직접 참조하세요.
빠른 검증만 원할 경우 CocoaPods 또는 Swift Package Manager를 우선 사용하는 것을 권장합니다.
최소 초기화 예제¶
첫 번째로 표시되는 뷰 NSViewController의 viewDidLoad 메서드와 NSWindowController의 windowDidLoad 메서드 호출이 AppDelegate의 applicationDidFinishLaunching보다 먼저 실행되므로, 첫 번째 뷰의 생명 주기 수집이 비정상적으로 동작하는 것을 방지하기 위해 main.m 또는 main.swift에서 SDK를 초기화하는 것을 권장합니다.
// main.m 파일
#import "FTMacOSSDK.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 로컬 환경 배포 시 [[FTSDKConfig alloc] initWithDatakitUrl:datakitUrl] 사용
FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatawayUrl:datawayUrl clientToken:clientToken];
config.enableSDKDebugLog = YES;
[FTSDKAgent startWithConfigOptions:config];
FTRumConfig *rumConfig = [[FTRumConfig alloc] initWithAppid:appid];
rumConfig.enableTrackAppCrash = YES;
rumConfig.enableTrackAppANR = YES;
rumConfig.enableTrackAppFreeze = YES;
rumConfig.enableTraceUserAction = YES;
rumConfig.enableTraceUserView = YES;
rumConfig.enableTraceUserResource = YES;
rumConfig.errorMonitorType = FTErrorMonitorAll;
rumConfig.deviceMetricsMonitorType = FTDeviceMetricsMonitorAll;
[[FTSDKAgent sharedInstance] startRumWithConfigOptions:rumConfig];
}
return NSApplicationMain(argc, argv);
}
import Cocoa
import FTMacOSSDK
let delegate = AppDelegate()
NSApplication.shared.delegate = delegate
// 로컬 환경 배포 시 FTSDKConfig(datakitUrl: datakitUrl) 사용
let config = FTSDKConfig(datawayUrl: datawayUrl, clientToken: clientToken)
config.enableSDKDebugLog = true
FTSDKAgent.start(withConfigOptions: config)
let rumConfig = FTRumConfig(appid: appid)
rumConfig.enableTraceUserAction = true
rumConfig.enableTrackAppANR = true
rumConfig.enableTraceUserView = true
rumConfig.enableTraceUserResource = true
rumConfig.enableTrackAppCrash = true
rumConfig.enableTrackAppFreeze = true
rumConfig.errorMonitorType = .all
rumConfig.deviceMetricsMonitorType = .all
rumConfig.monitorFrequency = .rare
FTSDKAgent.sharedInstance().startRum(withConfigOptions: rumConfig)
_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
Swift 사용 시 먼저
main.swift파일을 생성하고AppDelegate.swift에서@main또는@NSApplicationMain을 제거하세요.
선택 사항: Log 및 Trace 초기화¶
로그 수집 또는 분산 추적이 추가로 필요한 경우 다음 초기화를 계속 추가할 수 있습니다.
FTLoggerConfig *loggerConfig = [[FTLoggerConfig alloc] init];
loggerConfig.enableCustomLog = YES;
loggerConfig.enableLinkRumData = YES;
[[FTSDKAgent sharedInstance] startLoggerWithConfigOptions:loggerConfig];
FTTraceConfig *traceConfig = [[FTTraceConfig alloc] init];
traceConfig.enableAutoTrace = YES;
traceConfig.enableLinkRumData = YES;
[[FTSDKAgent sharedInstance] startTraceWithConfigOptions:traceConfig];
let loggerConfig = FTLoggerConfig()
loggerConfig.enableCustomLog = true
loggerConfig.enableLinkRumData = true
FTSDKAgent.sharedInstance().startLogger(withConfigOptions: loggerConfig)
let traceConfig = FTTraceConfig()
traceConfig.enableAutoTrace = true
traceConfig.enableLinkRumData = true
FTSDKAgent.sharedInstance().startTrace(withConfigOptions: traceConfig)
연동 성공 확인¶
enableSDKDebugLog = YES/true를 켜고 애플리케이션을 실행합니다.- 창을 열거나
URLSession네트워크 요청을 실행합니다. - Xcode 콘솔에서 SDK 초기화 및 데이터 동기화 관련 로그가 나타나는지 확인합니다.
- Guance 콘솔로 돌아가 애플리케이션에서 해당 RUM 데이터가 표시되는지 확인합니다.
추가 문제 해결이 필요하면 문제 해결을 참조하세요.