결론: Xcode 27의 xctrace로 Instruments 기록을 원격 맥 CI에 연결할 수 있습니다. 먼저 대상 템플릿의 기록 옵션을 조회하고, 같은 입력으로 trace를 만든 뒤 추적 가능한 산출물로 보관하세요. 자동 수집만으로 성능 회귀가 확인되거나 CI 문턱값이 정해지는 것은 아닙니다.

이 글은 고정된 앱 작업의 trace를 모으려는 iOS·macOS 개발자, 원격 맥에서 성능 기록을 보존하려는 CI 엔지니어, 자동화 범위를 정하는 플랫폼 담당자를 위한 안내입니다.

마지막 업데이트: 2026년 10월 30일. Xcode 27의 지원 내용은 Apple의 Xcode 27 릴리스 노트, 명령과 도구 범위는 Xcode 명령줄 도구 참고 문서를 기준으로 확인했습니다.

준비 단계: 비교 가능한 기준 작업을 정합니다

먼저 측정할 앱 동작을 하나 정합니다. 예를 들어 특정 화면을 열고 정해진 입력을 처리하는 테스트처럼, 커밋과 입력이 같을 때 다시 실행할 수 있는 작업이어야 합니다. 어떤 현상을 관찰할지 정한 다음 그에 맞는 Instruments 템플릿을 선택합니다.

빌드 성공, 앱의 실제 작업 실행, trace 수집은 서로 다른 단계입니다. 빌드 로그만으로 성능을 판정하거나, 기록에 성공했다는 이유만으로 성능 개선을 선언하지 마세요. 같은 커밋, 입력, 대상 환경을 기록해야 결과를 나란히 검토할 수 있습니다.

<
점검 대상고정할 내용운영 평가
빌드커밋과 빌드 설정재현에 필요
작업 부하앱 동작, 입력, 실행 조건비교 가능성에 중요
기록템플릿, 기록 옵션, 출력 위치산출물 추적에 필요
**원격 맥 CI에서 비교 가능한 성능 기록을 만들려면 무엇부터 고정해야 하나요?** 빌드와 성능 작업을 별도 단계로 정의하고, 작업 입력과 대상 환경을 함께 기록하세요. 기준이 바뀌면 trace 차이가 코드 변경 때문인지 실행 조건 때문인지 구분하기 어렵습니다. Instruments에서 결과를 비교하는 방법은 [Apple의 호출 트리와 실행 비교 안내](https://developer.apple.com/documentation/xcode/analyzing-cpu-profiles-with-call-tree-views)를 참고할 수 있습니다.

환경 확인 단계: 원격 맥의 Xcode 도구를 검증합니다

원격 맥에서 실제로 실행될 Xcode와 활성 개발자 디렉터리를 먼저 확인합니다. xcode-select -p로 활성 디렉터리를 확인하고, 파이프라인에서 선택한 Xcode가 의도한 경로인지 대조하세요. 필요하면 관리자 권한으로 개발자 디렉터리를 전환해야 합니다. 전환 방법과 설정은 Apple의 명령줄 도구 설정 안내를 따르세요.

명령줄 도구 패키지만 설치된 환경이라고 해서 Xcode에 포함된 모든 Instruments 도구가 준비됐다고 가정하지 마세요. Apple의 명령줄 도구 설치 안내는 설치 경로를 설명하지만, 실제 작업에 필요한 Xcode와 앱 환경은 별도로 확인해야 합니다. xcrun을 통해 호출되는 xctrace가 해당 Xcode에 속하는지 확인하고, 수집 전에 프로젝트 빌드와 대상 프로세스 또는 기기 접근도 검증하세요. 원격 접근을 처음 준비한다면 MACGPU의 원격 맥 시작 안내에서 접속 방식과 환경 준비 범위를 먼저 살펴볼 수 있습니다.

설정 단계: 템플릿에 맞는 기록 옵션을 조회합니다

Xcode 27 릴리스 노트에 따르면 xctrace record는 --show-recording-options로 기록 옵션 JSON을 출력하고, --recording-options로 설정 파일을 전달할 수 있습니다. 옵션 지원은 선택한 템플릿과 현재 도구 체인에 따라 달라지므로, 다른 템플릿에서 얻은 설정을 그대로 복사하지 마세요.

Xcode 27에서 Instruments 기록 옵션은 어떻게 확인하나요? 원격 맥에서 사용할 템플릿을 정한 뒤 해당 환경의 xctrace에 옵션 조회를 요청하세요. 예시의 <템플릿>은 실제로 설치된 템플릿 이름으로 바꾸고, 반환된 내용을 기준으로 설정 파일을 준비합니다.

xcrun xctrace record --template "<템플릿>" --show-recording-options

조회 결과가 JSON이라고 해서 어떤 템플릿에나 통하는 공통 필드가 있다는 뜻은 아닙니다. 필드 이름이나 값을 추측해 설정 파일을 만들지 말고, 대상 템플릿에서 확인한 선택지만 사용하세요. Apple의 xctrace 자동화 시연은 기록을 자동화하는 흐름을 보여 주지만, 대상 템플릿과 실행 조건이 다르면 그대로 적용된다고 보장하지는 않습니다.

실행 단계: 같은 작업 부하로 trace를 만듭니다

조회한 옵션, 템플릿, 대상 앱, 출력 경로를 CI 단계에 연결합니다. 실행 스크립트에서는 앱 시작, 작업 입력, 작업 완료, 기록 종료를 구분해 다루세요. 종료 코드가 실패인데도 다음 단계가 성공으로 표시되지 않도록 오류 처리를 설정하고, 파일 생성 여부도 확인합니다.

<
파이프라인 단계확인할 입력실패 때 할 일
빌드커밋, 빌드 설정기록 단계를 건너뛰고 실패 표시
앱 작업프로세스 또는 기기, 고정 입력작업 실패와 기록 실패를 구분
trace 기록템플릿, 확인한 옵션, 출력 경로종료 상태와 파일 생성을 검사
**xctrace 기록 옵션을 원격 맥 CI 명령에 어떻게 연결하나요?** 아래처럼 자리표시자를 실제 프로젝트 값으로 바꾸되, 옵션 구문은 사용 중인 Xcode의 참고 문서와 조회 결과에 맞춰 확인하세요. 프로젝트, 프로세스, 기기, 경로는 예시일 뿐입니다.
xcrun xctrace record \
  --template "<확인한 템플릿>" \
  --recording-options "<옵션 파일 경로>" \
  --output "<산출물 경로>"

실제 앱을 시작하고 정해 둔 작업을 수행하는 방법은 프로젝트의 테스트 도구와 실행 방식에 맞춰야 합니다. 명령 실행 성공과 유효한 성능 기록 확보를 같은 상태로 취급하지 마세요. 특히 대상 앱에 접근하지 못했거나 작업이 끝나기 전에 기록이 종료되면, 만들어진 파일만으로 의도한 동작이 측정됐다고 단정할 수 없습니다.

보관 단계: 산출물과 실행 맥락을 함께 남깁니다

생성된 trace를 파이프라인 산출물로 저장하고, 파일만 따로 두지 마세요. 해당 커밋, Xcode 버전, 대상, 템플릿, 작업 부하 식별 정보를 함께 보관하면 나중에 기록을 다시 찾고 조건을 대조할 수 있습니다.

원격 맥 CI에서 만든 trace 파일은 어떻게 보관해야 하나요? 파이프라인이 성공한 뒤 산출물 저장 단계에서 trace와 실행 정보를 함께 연결하세요. 파일 생성 여부를 확인한 다음 실제로 열거나 내보내 결과를 읽을 수 있는지 검토합니다. xctrace는 Instruments trace의 기록, 가져오기, 내보내기, 기호화에 쓰이는 도구이지만, 파일이 생겼다는 사실만으로 분석 가능한 결과가 확인되는 것은 아닙니다. 이 도구 범위는 Xcode 명령줄 도구 참고 문서에 설명되어 있습니다.

<
보관 항목함께 기록할 정보검수 기준
trace 파일커밋과 작업 식별 정보파일이 실제로 생성됐는지 확인
실행 환경Xcode와 대상 정보같은 조건을 다시 구성할 수 있는지 확인
분석 결과열기 또는 내보내기 확인원하는 작업 기록이 읽히는지 확인

검수 단계: 조건에 따라 정기 실행 여부를 결정합니다

자동 수집은 기록을 반복 가능하게 만드는 운영 기능입니다. 성능 문턱값은 별도 문제입니다. 비교 조건을 통제하고 반복한 결과를 분석한 뒤, 프로젝트 팀이 실제 기준선과 허용 범위를 정해야 합니다. 모든 템플릿과 CI 대상에서 같은 방식으로 기록된다고 가정하지 마세요.

  • 작업 입력과 실행 환경을 재현할 수 있고 trace를 열어 확인했다면 정기 수집을 검토합니다.
  • 기록은 되지만 결과의 편차나 해석 기준이 정리되지 않았다면 산출물만 모으고, 문턱값 판단은 보류합니다.
  • 기기 접근이나 앱 실행을 안정적으로 재현할 수 없다면 격리 작업에서 원인을 먼저 확인하고, 상시 CI에는 아직 넣지 않습니다.
이 조건 분기는 점수나 성능 기준을 대신하지 않습니다. 임계값과 변동 범위는 프로젝트의 반복 측정 자료를 바탕으로 정하세요. 임의의 수치를 설정해 실패를 판정하면 실제 회귀와 환경 차이를 혼동할 수 있습니다.

xctrace 자동 기록을 바로 CI 성능 문턱값으로 사용할 수 있나요? 아닙니다. 기록은 분석에 필요한 데이터를 모으는 절차이고, 성능 회귀 판정은 고정된 작업과 비교 조건에 근거해야 합니다. 기록 성공 여부는 수집 단계의 상태로 다루고, 문턱값 통과 여부는 별도의 검토 기준으로 관리하세요.

현재 개발자 컴퓨터에서만 Instruments를 실행하면 작업이 끝날 때까지 해당 컴퓨터를 점유하고, 환경 차이로 비교 조건이 흔들릴 수 있으며, trace와 실행 맥락을 매번 직접 모아야 할 수 있습니다. 원격 맥은 macOS 전용 도구가 필요한 작업을 분리해 실행하고 기록을 모으는 대안입니다. 다만 장기간 고정된 고부하 작업이나 물리 장치 연결이 핵심인 업무라면 자체 장비가 더 적합할 수 있습니다.

비정기적인 원격 수집이나 검증용 CI 환경이 필요하다면, 먼저 MACGPU의 원격 맥 이용 안내에서 이용 경로를 확인한 뒤 실제 작업 부하와 trace 전달 절차를 시험하세요. 구매와 임대 중 무엇이 적합한지는 필요한 운영 기간과 장비 조건을 기준으로 결정하면 됩니다.