指标客户端
发现附近的指标服务器并通过蓝牙低功耗查看实时设备指标流。
概览
指标客户端连接到另一台设备上运行的**指标服务器**,并实时显示服务器的实时指标。它接收 CPU 使用率、每核心 CPU 活动、设备标识(服务器名称、设备型号、设备名称)和时间戳——所有数据均通过蓝牙低功耗传输。
目录
标签页
指标客户端有两个标签页。您可以滑动切换或点击标签页标题。
- 发现 — 扫描并连接附近的服务器。
- 指标 — 查看已连接服务器的实时数据。
发现标签页
发现标签页是启动界面。它扫描附近的指标服务器外设并允许您连接其中一个。
发现状态卡片
状态卡片显示:
- 扫描指示器 — 带有标签的彩色圆点:
- 扫描中(蓝色,带加载动画)— 正在主动扫描外设。
- 空闲(灰色)— 扫描已暂停。
- 已发现的服务器 — 当前可见的指标服务器外设数量。
- 刷新按钮 — 停止并重新启动 BLE 扫描以发现新服务器。
打开工具时会自动开始扫描。
可用服务器列表
在状态卡片下方,会列出已发现的服务器。仅显示广播指标服务器 BLE 服务 UUID 的外设——其他蓝牙设备会被过滤掉。
当未找到服务器时,会显示故障排查清单:
- 有设备正在运行指标服务器工具
- 已在设置中授予本地网络权限
- 两台设备在同一网络/BLE 范围内
从 BLE 广播中消失的服务器会在列表中保留一小段宽限期(3 秒),以避免闪烁。
服务器行
每个已发现的服务器显示为一行,包含:
- 服务器名称 — 在指标服务器中配置的名称(例如 "iPhone 16 Pro Max (iPhone17,2)")。显示名称有 1.5 秒的防抖动处理,以避免 BLE 广播名称变化时的快速闪烁。
- RSSI — 以 dBm 为单位的信号强度,带有颜色编码的 3 格信号指示器:
- 绿色(3 格)— 信号强(>= -60 dBm)
- 橙色(2 格)— 信号中等(>= -75 dBm)
- 红色(1 格)— 信号弱(< -75 dBm)
- 服务可用性 — 绿色或灰色圆点,指示服务器是否正在广播指标服务 UUID。
- 连接 / 断开按钮:
- 连接(蓝色)— 向此服务器发起 BLE 连接。
- 连接中(灰色,带加载旋转图标)— 连接进行中。
- 断开(红色)— 断开与当前服务器的连接。
一次只支持连接一个服务器。当连接到一个服务器时,其他服务器行会被禁用。
指标标签页
连接后,指标标签页显示从服务器传输的实时数据。客户端在成功连接后会自动切换到此标签页。
连接状态卡片
顶部卡片显示:
- 连接状态 — 带有标签的彩色圆点:
- 已连接(绿色)
- 已断开(红色)
连接后,会显示更多详细信息:
-
信号强度 — 5 格指示器,带有质量标签(优秀、良好、一般、较差、很差)和以 dBm 为单位的原始 RSSI 值:
RSSI 范围 质量 格数 >= -50 dBm 优秀 5 -51 至 -65 dBm 良好 4 -66 至 -75 dBm 一般 3 -76 至 -85 dBm 较差 2 低于 -85 dBm 很差 1 -
RSSI 历史 — 信号强度读数的滚动折线图(最多 120 个样本),提供连接稳定性的直观展示。
-
服务器标识 — 三个键值行显示服务器传输的数据:
字段 描述 服务器名称 在指标服务器中配置的名称(例如 "iPhone 16 Pro Max (iPhone17,2)")。 设备型号 服务器设备的营销名称(例如 "iPhone 16 Pro Max")。 设备 用户在 iOS 设置中分配的设备名称(例如 "Rogerio 的 iPhone 16ProMax")。 -
错误消息 — 如果发生任何 BLE 错误(连接失败、断开连接等),会显示为红色警告。
-
断开按钮(红色,全宽)用于终止连接。
实时指标卡片
当正在接收指标时,此卡片显示:
| 字段 | 描述 |
|---|---|
| CPU 使用率 | 服务器设备的当前整体 CPU 使用百分比(例如 30.0%),以大数字显示。 |
| 核心数 | 服务器设备的 CPU 核心数量(例如 6)。 |
| 最后更新 | 最近指标数据包的时间戳,显示为时间字符串。 |
CPU 使用历史
显示服务器 CPU 使用率随时间变化的滚动折线图。该图表最多保存 100 个数据点,在 1 秒更新频率下提供约 100 秒的历史记录。
每核心使用率
当服务器提供每核心 CPU 数据时,会在历史图表下方显示每核心使用率视图。这显示每个独立 CPU 核心的当前使用百分比,与 CPU 监视器工具中使用的每核心可视化相同。
无指标状态
当未连接或尚未收到指标时,指标标签页会显示一个占位符,带有图表图标和提示,引导您使用发现标签页连接服务器。
如何与指标服务器配合使用
- 在您想要观察的设备上,打开工具 > 指标服务器并点击启动服务器。
- 在运行指标客户端的设备上,打开工具 > 指标客户端。
- 在发现标签页中,找到服务器并点击连接。
- 客户端会自动切换到指标标签页显示实 时读数。
权限
- 蓝牙权限 — BLE 扫描和连接所必需。如果权限被拒绝,请在 iOS 设置中为 Lirum 启用蓝牙访问。
- 蓝牙权限由 CoreBluetooth 自动处理。系统提示会在工具首次初始化时出现。
技术细节
- 客户端使用
CBCentralManager作为 BLE 中心设备。它扫描所有附近的外设,并过滤列表以仅显示广播指标服务器服务 UUID 的外设。 - 连接后,客户端发现指标服务器 GATT 服务并订阅摘要和每核心通知特征。
- 指标以二进制负载形式大约每秒到达一次。客户端解码:
- 摘要:服务器名称、设备型号、设备名称、整体 CPU 使用率(Float)、核心数(UInt16)、时间戳(UInt64 毫秒)。
- 每核心:核心数、每核心使用率数组(每核心一个 Float)、时间戳(UInt64 毫秒)。
- 客户端支持 v1(旧版)和 v2(当前版)负载格式,以向后兼容旧版指标服务器。v2 添加了设备型号、服务器名称作为单独字段,以及毫秒精度的时间戳。
- 已连接服务器的 RSSI 每 2 秒通过
readRSSI()轮询一次。维护最多 120 个样本的 RSSI 历史用于信号图表。 - 信号平滑 — 在发现列表中,RSSI 值经过指数平滑处理(alpha = 0.15)以减少信号格的视觉抖动。
- 名称稳定化 — 发现列表中的服务器显示名称有 1.5 秒的防抖动处理,以防止 BLE 广播名称快速变化时的闪烁。
- 消失宽限期 — 从 BLE 广播中消失的服务器会在列表中保留 3 秒后才被移除,防止列表闪烁。
- 启用了 CoreBluetooth 状态恢复,允许客户端在应用被系统重新启动时恢复现有连接。
- 指标历史上限为 100 条记录,在默认 1 秒更新间隔下对应约 100 秒的数据。
注意事项与限制
- 此工具使用蓝牙低功耗,而非 Wi-Fi 网络。两台设备必须在 BLE 范围内。
- 一次只支持连接一个服务器。
- RSSI 是信号强度的近似指标,可能会因环境因素而波动。
- 指标流包括 CPU 使用率、每核心使用率、核心数和设备标识。其他设备指标(内存、存储、温度)目前不传输。
- 在 visionOS 上,指标客户端不可用,因为该平台不支持 BLE 中心设备角色。