跳到主要內容

Metrics Client

搜尋附近嘅 Metrics Server,並即時睇到經藍牙 LE 傳送嘅裝置即時指標。

探測分頁:掃描附近 Metrics Server,顯示狀態同重新整理控制。
搵唔到伺服器時,會顯示疑難排解清單協助解決問題。
探測分頁顯示掃描指示同可用伺服器清單。

概覽

Metrics Client 會連接到另一部裝置上運行緊嘅 Metrics Server,並即時顯示伺服器嘅即時指標。佢會接收 CPU 使用率、每核心 CPU 活動、裝置身份(伺服器名稱、裝置型號、裝置名稱)同時間戳,全部都係經藍牙低功耗(Bluetooth Low Energy)串流傳送。

目錄

分頁

Metrics Client 有兩個分頁。你可以左右滑動切換,或者點擊分頁標題。

  • 探測 — 掃描同連接附近伺服器。
  • 指標 — 睇已連接伺服器嘅即時數據。

探測分頁

探測分頁係進入工具時嘅主畫面。佢會掃描附近嘅 Metrics Server 外圍裝置,並讓你連接其中一部。

探測狀態卡

狀態卡會顯示:

  • 掃描指示 — 一個有顏色嘅圓點同標籤:
    • 掃描中(藍色,有載入動畫)— 正在主動掃描外圍裝置。
    • 閒置(灰色)— 掃描已暫停。
  • 已發現伺服器 — 目前可見嘅 Metrics Server 外圍裝置數量。
  • 重新整理按鈕 — 停止並重新開始 BLE 掃描,以搜尋新伺服器。

打開工具時會自動開始掃描。

可用伺服器清單

狀態卡下方會列出已發現嘅伺服器。只會顯示有廣播 Metrics Server BLE 服務 UUID 嘅外圍裝置,其他藍牙裝置會被過濾。

搵唔到伺服器時,會顯示疑難排解清單:

  • 有裝置運行緊 Metrics Server 工具
  • 已於設定授權本地網絡權限
  • 兩部裝置同時連接同一網絡/處於 BLE 範圍內

消失咗嘅伺服器會喺清單保留短暫寬限期(3 秒),避免畫面閃爍。

伺服器列

每個已發現伺服器會以一行顯示,內容包括:

  • 伺服器名稱 — Metrics Server 設定嘅名稱(例如「iPhone 16 Pro Max (iPhone17,2)」)。顯示名稱會有 1.5 秒防抖處理,避免 BLE 廣播名稱變動時閃爍。
  • RSSI — 訊號強度(dBm),配合三格顏色指示:
    • 綠色(三格)— 強訊號(>= -60 dBm)
    • 橙色(兩格)— 中等訊號(>= -75 dBm)
    • 紅色(一格)— 弱訊號(< -75 dBm)
  • 服務可用性 — 綠色或灰色圓點,顯示伺服器有冇廣播 Metrics 服務 UUID。
  • 連接/斷線按鈕:
    • 連接(藍色)— 發起 BLE 連線到此伺服器。
    • 連接中(灰色,有載入動畫)— 連線進行中。
    • 斷線(紅色)— 斷開目前伺服器連線。

同一時間只支援連接一部伺服器。連接其中一部時,其他伺服器列會被停用。


指標分頁

連接後,指標分頁會顯示由伺服器串流過嚟嘅即時數據。成功連線後,客戶端會自動切換到此分頁。

連線狀態卡

頂部卡片會顯示:

  • 連線狀態 — 有顏色圓點同標籤:
    • 已連線(綠色)
    • 已斷線(紅色)

連線時,會顯示額外資料:

  • 訊號強度 — 五格指示器,配合品質標籤(極佳、良好、一般、較差、極差)同原始 RSSI 數值(dBm):

    RSSI 範圍品質格數
    >= -50 dBm極佳5
    -51 至 -65 dBm良好4
    -66 至 -75 dBm一般3
    -76 至 -85 dBm較差2
    低於 -85 dBm極差1
  • 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 個數據點,預設每秒更新一次,約可顯示 100 秒歷史。

每核心使用率

當伺服器有提供每核心 CPU 數據時,歷史圖下方會顯示每核心使用率視圖。每個 CPU 核心目前使用百分比都會顯示,視覺效果同 CPU 監控工具一致。

無指標狀態

未連線或未收到指標時,指標分頁會顯示佔位畫面,有圖表圖示同提示,指引用探測分頁連接伺服器。


如何配合 Metrics Server 使用

  1. 喺你想觀察嘅裝置上,打開 工具 > Metrics Server,然後點擊 啟動伺服器
  2. 喺運行 Metrics Client 嘅裝置上,打開 工具 > Metrics Client
  3. 探測 分頁搵到伺服器,然後點擊 連接
  4. 客戶端會自動切換到 指標 分頁,顯示即時數據。

權限

  • 藍牙權限 — 用於 BLE 掃描同連線。如權限被拒,請喺 iOS 設定為 Lirum 啟用藍牙存取。
  • 藍牙權限由 CoreBluetooth 自動處理。首次啟動工具時,系統會彈出授權提示。

技術細節

  • 客戶端以 BLE Central 身份運作,使用 CBCentralManager。會掃描所有附近外圍裝置,並只顯示有廣播 Metrics Server 服務 UUID 嘅裝置。
  • 連線後,客戶端會發現 Metrics Server GATT 服務,並訂閱 summaryper-core 通知特徵。
  • 指標以二進位封包形式,每秒約一次傳送。客戶端會解碼:
    • Summary:伺服器名稱、裝置型號、裝置名稱、整體 CPU 使用率(Float)、核心數(UInt16)、時間戳(UInt64 毫秒)。
    • Per-core:核心數、每核心使用率陣列(每核心 Float)、時間戳(UInt64 毫秒)。
  • 客戶端同時支援 v1(舊版)同 v2(現行)封包格式,確保兼容舊版 Metrics Server。v2 新增裝置型號、伺服器名稱獨立欄位,以及毫秒級時間戳。
  • RSSI 會每 2 秒readRSSI() 輪詢一次。訊號圖最多儲存 120 個樣本。
  • 訊號平滑 — 探測清單內 RSSI 會用指數平滑(alpha = 0.15)處理,減少訊號格閃爍。
  • 名稱穩定化 — 探測清單內伺服器顯示名稱會有 1.5 秒防抖,避免 BLE 廣播名稱頻繁變動時閃爍。
  • 消失寬限期 — BLE 廣播消失嘅伺服器會保留 3 秒先移除,避免清單閃爍。
  • 啟用 CoreBluetooth 狀態回復,即使系統重啟 app,客戶端都可以恢復現有連線。
  • 指標歷史最多儲存 100 筆,預設每秒更新一次,約等於 100 秒數據。

注意事項與限制

  • 呢個工具用 藍牙 LE,唔係 Wi-Fi 網絡。兩部裝置必須處於 BLE 範圍內。
  • 同一時間只支援連接一部伺服器。
  • RSSI 只係訊號強度嘅大約指標,會受環境影響而波動。
  • 指標串流包括 CPU 使用率、每核心使用率、核心數同裝置身份。其他裝置指標(記憶體、儲存空間、溫度)暫時未有傳送。
  • visionOS 上唔支援 Metrics Client,因為該平台唔支援 BLE central 角色。