跳至主要内容

指標伺服器

透過 Bluetooth LE 向附近裝置廣播即時裝置指標。

指標伺服器:狀態卡片包含可設定的伺服器名稱、伺服器控制項、已連線客戶端數量和目前指標。
設定自訂伺服器名稱,或從預設選項中選擇,例如行銷名稱、機型識別碼或裝置名稱。
目前指標卡片顯示 CPU 使用率、核心數量、裝置名稱和即時使用量歷史圖表。

概覽

指標伺服器可將您的裝置轉變為 Bluetooth Low Energy(BLE)周邊裝置,向附近執行 指標客戶端 的裝置廣播即時裝置指標。已連線的客戶端會持續接收資料串流,包括 CPU 使用率、各核心 CPU 活動、裝置識別資訊和時間戳記,所有資料透過 BLE 通知特徵每秒傳輸一次。

這對於從另一台裝置即時監控某裝置的效能非常有用,無需 Wi-Fi 網路或任何基礎設施。

目錄

主要區段

指標伺服器是單一捲動畫面,包含四張卡片:

  • 指標伺服器 — 狀態和伺服器名稱設定
  • 伺服器控制項 — 啟動/停止 BLE 廣播
  • 已連線客戶端 — 已訂閱裝置的數量
  • 目前指標 — 正在廣播資料的即時預覽

指標伺服器狀態卡片

頂部卡片顯示:

  • 運行指示燈 — 帶有標籤的彩色圓點:
    • 運行中(綠色)— 伺服器正在主動廣告並傳輸。
    • 已停止(紅色)— 伺服器未在廣告。
  • 伺服器名稱欄位 — 可編輯的文字欄位,決定其他裝置在 BLE 探索時看到的名稱。詳情請參閱伺服器名稱與預設選項
  • 狀態 — 使用中或非使用中。
  • 藍牙狀態 — 目前的藍牙無線電狀態(已開啟、已關閉、未授權、不支援、重置中、未知)。
  • 已連線 — 目前訂閱指標串流的客戶端裝置數量。
  • 錯誤 — 來自 BLE 堆疊的任何錯誤訊息(僅在發生錯誤時顯示)。

伺服器名稱與預設選項

伺服器名稱決定此裝置在指標客戶端使用者探索時的顯示方式。您可以輸入任何自訂名稱,或使用預設選項下拉選單快速套用內建選項之一:

預設選項範例
行銷名稱 + 機型識別碼iPhone 16 Pro Max (iPhone17,2)
僅行銷名稱iPhone 16 Pro Max
僅機型識別碼iPhone17,2
裝置名稱Rogerio's iPhone 16ProMax

預設值為行銷名稱(機型識別碼)(如果可用)。

在伺服器運行時更改名稱會自動重新啟動 BLE 廣告,讓新名稱立即生效。

伺服器控制項

伺服器控制項卡片包含單一啟動伺服器 / 停止伺服器按鈕:

  • 啟動伺服器(綠色)— 開始 BLE 廣告並開始收集 CPU 指標。當客戶端訂閱後,伺服器將開始傳輸資料。
  • 停止伺服器(紅色)— 停止 BLE 廣告並停止指標收集。

按鈕下方的說明解釋伺服器透過 Bluetooth LE 向已連線客戶端廣播指標。

已連線客戶端

已連線客戶端卡片顯示:

  • 目前已訂閱的客戶端裝置數量(以大數字醒目顯示)。
  • 當沒有客戶端連線時:顯示佔位符,包含圖示和訊息,提示啟動伺服器並在另一台裝置上使用指標客戶端。
  • 當有客戶端連線時:顯示確認訊息,包含數量(例如「1 個客戶端正在接收指標」)。

伺服器僅在至少有一個客戶端訂閱時才傳輸資料。當沒有客戶端連線時,內部計時器會暫停以節省資源。

目前指標

目前指標卡片顯示正在廣播資料的即時預覽:

欄位說明
CPU 使用率此裝置目前的整體 CPU 使用率百分比(例如 30.0%)。
核心數量此裝置的 CPU 核心數量(例如 6)。
裝置使用者指定的裝置名稱(例如「Rogerio's iPhone 16ProMax」)。

這些欄位下方有使用量歷史折線圖,顯示隨時間變化的 CPU 使用率,提供工作負載波動的視覺呈現。

傳輸資料

伺服器每秒向所有已訂閱的客戶端廣播兩個 BLE 通知特徵:

摘要特徵

包含以下欄位的緊湊二進位負載:

欄位類型說明
伺服器名稱字串(最多 32 字元)狀態卡片中顯示的可設定名稱。
裝置機型字串(最多 32 字元)裝置的行銷名稱(例如「iPhone 16 Pro Max」)。
裝置名稱字串(最多 32 字元)iOS 設定中使用者指定的裝置名稱。
CPU 使用率浮點數(32 位元)整體 CPU 使用率百分比(0–100)。
核心數量UInt16CPU 核心數量。
時間戳記UInt64自 Unix 紀元以來的毫秒數。

各核心特徵

包含各核心 CPU 使用率資料:

欄位類型說明
核心數量UInt8核心數量(最多 32)。
核心使用率Float[]每個核心一個 32 位元浮點數,代表該核心的使用率百分比。
時間戳記UInt64自 Unix 紀元以來的毫秒數。

如何與指標客戶端搭配使用

  1. 在您要觀察的裝置上,開啟工具 > 指標伺服器並點擊啟動伺服器
  2. 在另一台裝置上,開啟工具 > 指標客戶端
  3. 探索分頁中,在列表中找到伺服器並點擊連線
  4. 客戶端會自動切換到指標分頁以顯示即時資料。

技術細節

  • 伺服器使用 CBPeripheralManager 作為 BLE 周邊裝置運作。它廣告一個自訂 GATT 服務,包含兩個僅通知特徵(摘要和各核心)。
  • 當至少有一個客戶端訂閱時,資料每秒傳輸一次。當沒有客戶端連線時,計時器會暫停。
  • 負載中的所有多位元組數值皆為小端序,這是 Swift 在 Apple 平台上原生產生的格式。
  • 伺服器使用 CoreBluetooth 狀態恢復,允許在系統重新啟動應用程式時恢復廣告狀態。
  • BLE 背壓會優雅處理 — 如果傳輸佇列已滿,更新會排隊,並在系統透過 peripheralManagerIsReady(toUpdateSubscribers:) 發出就緒信號時清空。
  • CPU 指標取樣自 CPU 監視器工具使用的相同 ToolCPUViewModel,確保讀數一致。

注意事項與限制

  • 此工具使用 Bluetooth LE,而非 Wi-Fi 網路。裝置必須在 BLE 範圍內(室內通常為 10–30 公尺)。
  • BLE 可用性、背景行為和連線穩定性因裝置和作業系統版本而異。
  • visionOS 上,指標伺服器不可用,因為不支援 BLE 周邊裝置角色。
  • 由於 BLE 負載大小限制,伺服器名稱限制為 32 個字元。
  • 目前僅傳輸 CPU 相關指標。其他裝置指標(記憶體、溫度等)不包含在 BLE 串流中。