CI 통합 프로파일링
CI 통합 프로파일링은 빌드 파이프라인에서 자동으로 퍼포먼스 텔레메트리를 수집하고 리그레션을 감지하는 기능입니다.
작동 원리
섹션 제목: “작동 원리”- CI 빌드 — 게임 빌드 생성
- 자동 테스트 — 사전 정의된 시나리오를 자동 실행
- 텔레메트리 수집 — SDK가 퍼포먼스 데이터를 Framedash에 전송
- 비교 분석 — 이전 빌드와 퍼포먼스를 자동 비교
- 알림 — 임계값을 초과하는 리그레션이 감지되면 알림 발송
1. CI 환경에서의 SDK 설정
섹션 제목: “1. CI 환경에서의 SDK 설정”SDK 초기화 시 build_id를 CI 환경 변수에서 설정합니다.
Unity
섹션 제목: “Unity”TelemetrySDK.Initialize( apiKey: Environment.GetEnvironmentVariable("FRAMEDASH_API_KEY"), buildId: Environment.GetEnvironmentVariable("CI_COMMIT_SHA"));UE5
섹션 제목: “UE5”if (auto* Subsystem = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()){ FString ApiKey = FPlatformMisc::GetEnvironmentVariable(TEXT("FRAMEDASH_API_KEY")); FString BuildId = FPlatformMisc::GetEnvironmentVariable(TEXT("CI_COMMIT_SHA")); // EndpointUrl에 빈 문자열을 전달하여 기본값을 사용합니다. Subsystem->InitializeTelemetry(ApiKey, TEXT(""), BuildId);}2. 테스트 시나리오 정의
섹션 제목: “2. 테스트 시나리오 정의”각 맵/영역을 순회하는 테스트 시나리오를 작성하여 일관된 데이터를 수집합니다.
3. 알림 설정
섹션 제목: “3. 알림 설정”대시보드에서 임계값을 설정합니다:
- FPS가 이전 빌드 대비 10% 이상 저하
- 프레임 타임이 33ms 초과
- 메모리 사용량이 이전 빌드 대비 20% 이상 증가
활용 사례
섹션 제목: “활용 사례”- 풀 리퀘스트의 퍼포먼스 체크 — 병합 전 리그레션 감지
- 나이틀리 빌드 모니터링 — 매일 빌드를 자동 프로파일링
- 릴리스 전 품질 게이트 — 퍼포먼스 기준을 충족하지 않는 빌드 차단