メインコンテンツまでスキップ

Metrics Client

近くのMetrics Serverを検出し、Bluetooth LE経由でストリーミングされるデバイスのライブメトリクスを表示します。

Discoveryタブ:ステータスと更新コントロール付きで近くのMetrics Serverをスキャン中。
サーバーが見つからない場合、トラブルシューティングのチェックリストが表示されます。
スキャンインジケーターと利用可能なサーバーリストを表示したDiscoveryタブ。

概要

Metrics Clientは、別のデバイス上で動作する**Metrics Server**に接続し、サーバーのライブメトリクスをリアルタイムで表示します。CPU使用率、コアごとのCPUアクティビティ、デバイス識別情報(サーバー名、デバイスモデル、デバイス名)、タイムスタンプをBluetooth Low Energy経由で受信します。

目次

タブ

Metrics Clientには2つのタブがあります。スワイプで切り替えるか、タブタイトルをタップしてください。

  • Discovery — 近くのサーバーをスキャンして接続します。
  • Metrics — 接続中のサーバーからのライブデータを表示します。

Discoveryタブ

Discoveryタブは起動時の画面です。近くのMetrics Serverペリフェラルをスキャンし、接続先を選択できます。

Discoveryステータスカード

ステータスカードには以下が表示されます:

  • スキャンインジケーター — 色付きの点とラベル:
    • Scanning(青、読み込みアニメーション付き)— ペリフェラルを積極的にスキャン中。
    • Idle(灰色)— スキャンが一時停止中。
  • 検出されたサーバー数 — 現在見えているMetrics Serverペリフェラルの数。
  • 更新ボタン — BLEスキャンを停止して再開し、新しいサーバーを検出します。

ツール起動時にスキャンは自動的に開始されます。

利用可能なサーバーリスト

ステータスカードの下に検出されたサーバーがリスト表示されます。Metrics ServerのBLEサービスUUIDをアドバタイズしているペリフェラルのみ表示され、他のBluetoothデバイスは除外されます。

サーバーが見つからない場合は、トラブルシューティングのチェックリストが表示されます:

  • 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をアドバタイズしているかを示す緑または灰色の点。
  • 接続 / 切断ボタン:
    • Connect(青)— このサーバーへのBLE接続を開始。
    • Connecting(灰色、読み込みスピナー付き)— 接続中。
    • Disconnect(赤)— 現在のサーバーから切断。

同時に接続できるサーバーは1台のみです。接続中は他のサーバーロウは無効化されます。


Metricsタブ

接続されると、Metricsタブにサーバーからストリーミングされるライブデータが表示されます。接続成功時にクライアントは自動的にこのタブに切り替わります。

接続ステータスカード

上部カードには以下が表示されます:

  • 接続状態 — 色付きの点とラベル:
    • Connected(緑)
    • Disconnected(赤)

接続中は追加情報が表示されます:

  • 信号強度 — 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サンプルの信号強度の折れ線グラフで、接続の安定性を視覚的に把握できます。

  • サーバー識別情報 — サーバーから送信された3つのキー・バリュー行:

    フィールド説明
    サーバー名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ツールと同じコアごとの使用率表示です。

メトリクス未受信状態

未接続またはメトリクスがまだ届いていない場合、MetricsタブにはチャートアイコンとDiscoveryタブでサーバーに接続するよう促すプレースホルダーが表示されます。


Metrics Serverとの使い方

  1. 観察したいデバイスで、ツール > Metrics Serverを開き、Start Serverをタップします。
  2. Metrics Clientを実行しているデバイスで、ツール > Metrics Clientを開きます。
  3. Discoveryタブでサーバーを見つけ、Connectをタップします。
  4. クライアントは自動的にMetricsタブに切り替わり、ライブデータを表示します。

権限

  • Bluetooth権限 — BLEスキャンと接続に必要です。権限が拒否された場合は、iOS設定でLirumのBluetoothアクセスを有効にしてください。
  • Bluetooth権限はCoreBluetoothが自動的に管理し、ツール初回起動時にシステムプロンプトが表示されます。

技術的詳細

  • クライアントはCBCentralManagerを使うBLE Centralとして動作し、近くのすべてのペリフェラルをスキャンしてMetrics ServerサービスUUIDをアドバタイズするものだけを表示します。
  • 接続時にMetrics ServerのGATTサービスを発見し、summaryper-coreの通知キャラクタリスティックにサブスクライブします。
  • メトリクスは約1秒ごとにバイナリペイロードで届き、クライアントは以下をデコードします:
    • Summary:サーバー名、デバイスモデル、デバイス名、全体CPU使用率(Float)、コア数(UInt16)、タイムスタンプ(UInt64ミリ秒)。
    • Per-core:コア数、コアごとの使用率配列(コアごとにFloat)、タイムスタンプ(UInt64ミリ秒)。
  • クライアントは古いMetrics Serverバージョンとの互換性のため、v1(レガシー)とv2(現行)のペイロード形式の両方をサポートします。v2ではデバイスモデル、サーバー名が個別フィールドになり、ミリ秒精度のタイムスタンプが追加されました。
  • 接続中のサーバーのRSSIreadRSSI()2秒ごとにポーリングされ、最大120サンプルのRSSI履歴が信号グラフ用に保持されます。
  • 信号の平滑化 — Discoveryリスト内のRSSI値は指数移動平均(α=0.15)で平滑化され、信号バーのちらつきを軽減します。
  • 名前の安定化 — Discoveryリストのサーバー表示名はBLEアドバタイズ名の急激な変化によるちらつきを防ぐため1.5秒間デバウンスされます。
  • 消失猶予期間 — BLEアドバタイズから消えたサーバーはリストから削除されるまで3秒間保持され、リストのちらつきを防止します。
  • CoreBluetooth状態復元が有効で、システムによるアプリ再起動時に既存接続を復元可能です。
  • メトリクス履歴は最大100件に制限され、デフォルトの1秒更新間隔で約100秒分のデータを保持します。

注意事項と制限

  • 本ツールはBluetooth LEを使用し、Wi-Fiネットワークは利用しません。両デバイスはBLE範囲内にある必要があります。
  • 同時に接続できるサーバーは1台のみです。
  • RSSIは信号強度の概算指標であり、環境要因により変動します。
  • メトリクスストリームにはCPU使用率、コアごとの使用率、コア数、デバイス識別情報が含まれます。メモリ、ストレージ、温度などの他のデバイスメトリクスは現在送信されません。
  • visionOSではBLE Centralロールがサポートされていないため、Metrics Clientは利用できません。