본문으로 건너뛰기

메트릭스 클라이언트

근처의 Metrics Server를 검색하고 Bluetooth LE를 통해 스트리밍되는 실시간 기기 정보를 확인하세요.

iPhoneiPadMacApple Vision ProApple TVApple Watch
Discovery 탭: 상태 및 새로 고침 컨트롤과 함께 근처 Metrics Server를 스캔 중입니다.
서버가 발견되지 않을 때 문제 해결을 돕는 체크리스트가 표시됩니다.
스캔 표시기와 사용 가능한 서버 목록이 있는 Discovery 탭.

개요​

Metrics Client는 다른 기기에서 실행 중인 **Metrics Server**에 연결하여 서버의 실시간 기기 정보를 실시간으로 표시합니다. CPU 사용량, 코어별 CPU 활동, 기기 식별 정보(서버 이름, 기기 모델, 기기 이름), 타임스탬프를 Bluetooth Low Energy를 통해 스트리밍으로 수신합니다.

목차​

탭​

Metrics Client에는 두 개의 탭이 있습니다. 스와이프하거나 탭 제목을 눌러 전환할 수 있습니다.

  • Discovery — 근처 서버를 검색하고 연결합니다.
  • Metrics — 연결된 서버의 실시간 데이터를 확인합니다.

Discovery 탭​

Discovery 탭은 시작 화면입니다. 근처의 Metrics Server 주변기기를 스캔하고 하나에 연결할 수 있습니다.

Discovery 상태 카드​

상태 카드에는 다음이 표시됩니다:

  • 스캔 표시기 — 색상 점과 레이블:
    • Scanning (파란색, 로딩 애니메이션 포함) — 주변기기를 적극적으로 스캔 중입니다.
    • Idle (회색) — 스캔이 일시 중지됨.
  • 발견된 서버 수 — 현재 보이는 Metrics Server 주변기기 수.
  • 새로 고침 버튼 — BLE 스캔을 중지했다가 다시 시작하여 새로운 서버를 검색합니다.

도구를 열면 스캔이 자동으로 시작됩니다.

사용 가능한 서버 목록​

상태 카드 아래에 발견된 서버가 나열됩니다. Metrics Server BLE 서비스 UUID를 광고하는 주변기기만 표시되며, 다른 블루투스 기기는 필터링됩니다.

서버가 발견되지 않으면 문제 해결 체크리스트가 표시됩니다:

  • 기기에서 Metrics Server 도구가 실행 중인지 확인
  • 설정에서 로컬 네트워크 권한이 허용되었는지 확인
  • 두 기기가 동일한 네트워크에 있거나 BLE 범위 내에 있는지 확인

BLE 광고에서 사라진 서버는 깜빡임을 방지하기 위해 짧은 유예 기간(3초) 동안 목록에 유지됩니다.

서버 행​

발견된 각 서버는 다음을 포함하는 행으로 표시됩니다:

  • 서버 이름 — Metrics Server에서 설정한 이름 (예: "iPhone 16 Pro Max (iPhone17,2)"). BLE 광고 이름이 변경될 때 빠른 깜빡임을 방지하기 위해 표시 이름은 1.5초 동안 디바운스 처리됩니다.
  • RSSI — dBm 단위의 신호 세기와 색상으로 구분된 3단계 신호 표시기:
    • 녹색 (3단계) — 강한 신호 (≥ -60 dBm)
    • 주황색 (2단계) — 보통 신호 (≥ -75 dBm)
    • 빨간색 (1단계) — 약한 신호 (< -75 dBm)
  • 서비스 가용성 — 서버가 Metrics 서비스 UUID를 광고하는지 여부를 나타내는 녹색 또는 회색 점.
  • 연결 / 연결 해제 버튼:
    • 연결 (파란색) — 이 서버에 BLE 연결을 시작합니다.
    • 연결 중 (회색, 로딩 스피너 포함) — 연결 진행 중.
    • 연결 해제 (빨간색) — 현재 서버와의 연결을 종료합니다.

한 번에 하나의 서버 연결만 지원됩니다. 한 서버에 연결 중일 때 다른 서버 행은 비활성화됩니다.


Metrics 탭​

연결되면 Metrics 탭에 서버에서 스트리밍되는 실시간 데이터가 표시됩니다. 연결이 성공하면 클라이언트가 자동으로 이 탭으로 전환됩니다.

연결 상태 카드​

상단 카드에는 다음이 표시됩니다:

  • 연결 상태 — 색상 점과 레이블:
    • 연결됨 (녹색)
    • 연결 끊김 (빨간색)

연결되면 추가 정보가 나타납니다:

  • 신호 세기 — 5단계 표시기와 품질 레이블(Excellent, Good, Fair, Poor, Very Poor) 및 원시 RSSI 값(dBm):

    RSSI 범위품질단계
    ≥ -50 dBmExcellent5
    -51 ~ -65 dBmGood4
    -66 ~ -75 dBmFair3
    -76 ~ -85 dBmPoor2
    -85 dBm 미만Very Poor1
  • RSSI 기록 — 최대 120개 샘플의 신호 세기 선 그래프로 연결 안정성을 시각적으로 제공합니다.

  • 서버 식별 정보 — 서버가 전송한 세 가지 키-값 행:

    필드설명
    서버 이름Metrics Server에서 설정한 이름 (예: "iPhone 16 Pro Max (iPhone17,2)").
    기기 모델서버 기기의 마케팅 이름 (예: "iPhone 16 Pro Max").
    기기 이름iOS 설정에서 사용자가 지정한 기기 이름 (예: "Rogerio's iPhone 16ProMax").
  • 오류 메시지 — BLE 오류(연결 실패, 연결 끊김 등)가 발생하면 빨간색 경고로 표시됩니다.

  • 연결 해제 버튼 (빨간색, 전체 너비)으로 연결을 종료할 수 있습니다.

실시간 기기 정보 카드​

기기 정보가 수신 중일 때 이 카드에 다음이 표시됩니다:

필드설명
CPU 사용량서버 기기의 현재 전체 CPU 사용률(예: 30.0%)을 큰 숫자로 표시합니다.
코어 수서버 기기의 CPU 코어 수(예: 6).
최종 업데이트가장 최근 기기 정보 패킷의 타임스탬프를 시간 문자열로 표시합니다.

CPU 사용량 기록​

서버의 CPU 사용량 변화를 보여주는 선 그래프입니다. 최대 100개의 데이터 포인트를 보유하며, 1초 업데이트 간격으로 약 100초 분량의 기록을 제공합니다.

코어별 사용량​

서버가 코어별 CPU 데이터를 제공하면, 기록 그래프 아래에 코어별 사용량 뷰가 표시됩니다. CPU Monitor 도구에서 사용하는 것과 동일한 코어별 시각화로 각 CPU 코어의 현재 사용률을 보여줍니다.

기기 정보 없음 상태​

연결되지 않았거나 아직 기기 정보가 도착하지 않은 경우, Metrics 탭에 차트 아이콘과 Discovery 탭을 사용해 서버에 연결하라는 안내가 표시됩니다.


Metrics Server와 함께 사용하는 방법​

  1. 관찰하려는 기기에서 도구 > Metrics Server를 열고 서버 시작을 탭하세요.
  2. Metrics Client가 실행 중인 기기에서 도구 > Metrics Client를 엽니다.
  3. Discovery 탭에서 서버를 찾아 연결을 탭하세요.
  4. 클라이언트가 자동으로 Metrics 탭으로 전환되어 실시간 데이터를 표시합니다.

권한​

  • 블루투스 권한 — BLE 스캔 및 연결에 필요합니다. 권한이 거부되면 iOS 설정에서 Lirum에 대한 블루투스 접근을 허용하세요.
  • 블루투스 권한은 CoreBluetooth가 자동으로 처리하며, 도구가 처음 초기화될 때 시스템 권한 요청이 표시됩니다.

기술 세부 정보​

  • 클라이언트는 CBCentralManager를 사용하여 BLE 중앙 역할을 수행합니다. 근처 모든 주변기기를 스캔하고 Metrics Server 서비스 UUID를 광고하는 기기만 필터링하여 표시합니다.
  • 연결 시 클라이언트는 Metrics Server GATT 서비스를 발견하고 summary 및 per-core 알림 특성에 구독합니다.
  • 기기 정보는 약 1초 간격으로 바이너리 페이로드로 도착하며, 클라이언트는 다음을 디코딩합니다:
    • Summary: 서버 이름, 기기 모델, 기기 이름, 전체 CPU 사용률(Float), 코어 수(UInt16), 타임스탬프(UInt64 밀리초).
    • Per-core: 코어 수, 코어별 사용률 배열(Float 각 코어별), 타임스탬프(UInt64 밀리초).
  • 클라이언트는 이전 버전 호환을 위해 v1(레거시) 및 v2(현재) 페이로드 형식을 모두 지원합니다. v2는 기기 모델, 서버 이름을 별도 필드로 추가하고 밀리초 정밀 타임스탬프를 포함합니다.
  • 연결된 서버의 RSSI는 readRSSI()를 통해 2초마다 폴링됩니다. 최대 120개 샘플의 RSSI 기록이 신호 그래프에 사용됩니다.
  • 신호 평활화 — 검색 목록에서 RSSI 값은 시각적 떨림을 줄이기 위해 지수 평활화(alpha = 0.15) 처리됩니다.
  • 이름 안정화 — 검색 목록의 서버 표시 이름은 BLE 광고 이름이 빠르게 변경될 때 깜빡임을 방지하기 위해 1.5초 디바운스 처리됩니다.
  • 사라짐 유예 기간 — BLE 광고에서 사라진 서버는 목록에서 제거되기 전 3초간 유지되어 목록 깜빡임을 방지합니다.
  • CoreBluetooth 상태 복원이 활성화되어 앱이 시스템에 의해 재실행될 때 기존 연결을 복구할 수 있습니다.
  • 기기 정보 기록은 최대 100개 항목으로 제한되며, 기본 1초 업데이트 간격으로 약 100초 분량의 데이터를 저장합니다.

주의 사항 및 제한 사항​

  • 이 도구는 Bluetooth LE를 사용하며 Wi-Fi 네트워킹을 사용하지 않습니다. 두 기기는 BLE 범위 내에 있어야 합니다.
  • 한 번에 하나의 서버 연결만 지원됩니다.
  • RSSI는 신호 세기의 대략적인 지표이며 환경 요인에 따라 변동될 수 있습니다.
  • 기기 정보 스트림에는 CPU 사용량, 코어별 사용량, 코어 수, 기기 식별 정보가 포함되며, 메모리, 저장 공간, 온도 등 다른 기기 정보는 현재 전송되지 않습니다.
  • visionOS에서는 BLE 중앙 역할이 지원되지 않아 Metrics Client를 사용할 수 없습니다.