跳至主要内容

Metrics Client

探索附近的 Metrics Server 並透過 Bluetooth LE 串流檢視即時裝置指標。

Discovery 分頁:掃描附近的 Metrics Server,顯示狀態和重新整理控制項。
當未找到伺服器時,會顯示檢查清單協助疑難排解。
Discovery 分頁顯示掃描指示器和可用伺服器列表。

概覽

Metrics Client 連接到另一台裝置上執行的 Metrics Server,並即時顯示伺服器的即時指標。它接收 CPU 使用率、各核心 CPU 活動、裝置身分識別(伺服器名稱、裝置型號、裝置名稱)和時間戳記——全部透過 Bluetooth Low Energy 串流傳輸。

目錄

分頁

Metrics Client 有兩個分頁。您可以滑動切換或點按分頁標題。

  • Discovery — 掃描並連接附近的伺服器。
  • Metrics — 檢視來自已連接伺服器的即時資料。

Discovery 分頁

Discovery 分頁是預設畫面。它會掃描附近的 Metrics Server 周邊裝置,讓您連接其中一個。

探索狀態卡片

狀態卡片顯示:

  • 掃描指示器 — 帶有標籤的彩色圓點:
    • Scanning(藍色,帶載入動畫)— 正在主動掃描周邊裝置。
    • Idle(灰色)— 掃描已暫停。
  • Discovered Servers — 目前可見的 Metrics Server 周邊裝置數量。
  • Refresh 按鈕 — 停止並重新啟動 BLE 掃描以偵測新伺服器。

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

可用伺服器列表

在狀態卡片下方,會列出已發現的伺服器。僅顯示廣播 Metrics Server BLE 服務 UUID 的周邊裝置——其他藍牙裝置會被過濾掉。

當未找到伺服器時,會顯示疑難排解檢查清單:

  • 有裝置正在執行 Metrics Server 工具
  • 已在設定中授予區域網路權限
  • 兩台裝置在同一網路上/在 BLE 範圍內

從 BLE 廣播中消失的伺服器會在列表中保留一段寬限期(3 秒),以避免閃爍。

伺服器列

每個發現的伺服器會顯示為一列,包含:

  • 伺服器名稱 — 在 Metrics Server 中設定的名稱(例如「iPhone 16 Pro Max (iPhone17,2)」)。顯示名稱會進行 1.5 秒的防抖處理,以避免 BLE 廣播名稱變更時快速閃爍。
  • RSSI — 以 dBm 為單位的訊號強度,搭配顏色編碼的 3 格訊號指示器:
    • 綠色(3 格)— 訊號強(>= -60 dBm)
    • 橘色(2 格)— 訊號中等(>= -75 dBm)
    • 紅色(1 格)— 訊號弱(< -75 dBm)
  • 服務可用性 — 綠色或灰色圓點,表示伺服器是否正在廣播 Metrics 服務 UUID。
  • Connect / Disconnect 按鈕:
    • Connect(藍色)— 啟動與此伺服器的 BLE 連線。
    • Connecting(灰色,帶載入旋轉圖示)— 連線進行中。
    • Disconnect(紅色)— 中斷與目前伺服器的連線。

一次僅支援連接一個伺服器。連接一個伺服器時,其他伺服器列會被停用。


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 dBmVery Poor1
  • RSSI 歷史記錄 — 訊號強度讀數的滾動折線圖(最多 120 個樣本),提供連線穩定性的視覺呈現。

  • 伺服器身分識別 — 三個鍵值對列,顯示伺服器傳輸的資料:

    欄位說明
    Server Name在 Metrics Server 中設定的名稱(例如「iPhone 16 Pro Max (iPhone17,2)」)。
    Device Model伺服器裝置的行銷名稱(例如「iPhone 16 Pro Max」)。
    Device使用者在 iOS 設定中指定的裝置名稱(例如「Rogerio's iPhone 16ProMax」)。
  • 錯誤訊息 — 如果發生任何 BLE 錯誤(連線失敗、斷線等),會以紅色警告顯示。

  • Disconnect 按鈕(紅色,全寬)用於終止連線。

即時指標卡片

當接收到指標時,此卡片會顯示:

欄位說明
CPU Usage伺服器裝置目前的整體 CPU 使用百分比(例如 30.0%),以大字體數字顯示。
Core Count伺服器裝置上的 CPU 核心數量(例如 6)。
Last Update最近一個指標封包的時間戳記,以時間字串顯示。

CPU 使用歷史記錄

滾動折線圖顯示伺服器的 CPU 使用率隨時間的變化。圖表最多保留 100 個資料點,以每秒 1 次的更新率提供大約 100 秒的歷史記錄。

各核心使用率

當伺服器提供各核心 CPU 資料時,會在歷史圖表下方顯示各核心使用率視圖。這會顯示每個 CPU 核心的目前使用百分比,與 CPU Monitor 工具中使用的各核心視覺化效果相同。

無指標狀態

當未連線或尚未收到任何指標時,Metrics 分頁會顯示帶有圖表圖示的佔位符,並提示使用 Discovery 分頁連接伺服器。


如何與 Metrics Server 搭配使用

  1. 在您想要觀察的裝置上,開啟工具 > Metrics Server 並點按 Start Server
  2. 在執行 Metrics Client 的裝置上,開啟工具 > Metrics Client
  3. Discovery 分頁中,找到伺服器並點按 Connect
  4. 用戶端會自動切換到 Metrics 分頁以顯示即時讀數。

權限

  • 藍牙權限 — 進行 BLE 掃描和連線時必須具備。如果權限被拒絕,請在 iOS 設定中為 Lirum 啟用藍牙存取權限。
  • 藍牙權限由 CoreBluetooth 自動處理。系統提示會在工具首次初始化時出現。

技術細節

  • 用戶端使用 CBCentralManager 作為 BLE Central。它會掃描所有附近的周邊裝置,並過濾列表僅顯示廣播 Metrics Server 服務 UUID 的裝置。
  • 連線後,用戶端會探索 Metrics Server GATT 服務並訂閱 summaryper-core 通知特徵。
  • 指標以二進位封包形式大約每秒到達一次。用戶端會解碼:
    • Summary:伺服器名稱、裝置型號、裝置名稱、整體 CPU 使用率(Float)、核心數量(UInt16)、時間戳記(UInt64 毫秒)。
    • Per-core:核心數量、各核心使用率陣列(每核心 Float)、時間戳記(UInt64 毫秒)。
  • 用戶端支援 v1(舊版)和 v2(目前版本)封包格式,以向後相容較舊的 Metrics Server 版本。v2 新增了裝置型號、伺服器名稱作為獨立欄位,以及毫秒精度的時間戳記。
  • 已連線伺服器的 RSSI2 秒透過 readRSSI() 輪詢一次。為訊號圖表維護最多 120 個樣本的 RSSI 歷史記錄。
  • 訊號平滑 — 在探索列表中,RSSI 值會進行指數平滑處理(alpha = 0.15),以減少訊號格的視覺抖動。
  • 名稱穩定化 — 探索列表中的伺服器顯示名稱會進行 1.5 秒的防抖處理,以防止 BLE 廣播名稱快速變更時閃爍。
  • 消失寬限期 — 從 BLE 廣播中消失的伺服器會在列表中保留 3 秒後才被移除,防止列表閃爍。
  • 已啟用 CoreBluetooth 狀態還原,允許用戶端在應用程式被系統重新啟動時恢復現有連線。
  • 指標歷史記錄上限為 100 筆條目,對應預設每秒 1 次更新間隔的大約 100 秒資料。

注意事項與限制

  • 此工具使用 Bluetooth LE,而非 Wi-Fi 網路。兩台裝置必須在 BLE 範圍內。
  • 一次僅支援連接一個伺服器。
  • RSSI 是訊號強度的近似指標,可能會因環境因素而波動。
  • 指標串流包含 CPU 使用率、各核心使用率、核心數量和裝置身分識別。目前不傳輸其他裝置指標(記憶體、儲存空間、溫度)。
  • visionOS 上,Metrics Client 不可用,因為該平台不支援 BLE central 角色。