Metrics Client
Виявляйте поруч розташовані Metrics Server та переглядайте поточні метрики пристрою в реальному часі через Bluetooth LE.
Огляд
Metrics Client підключається до Metrics Server, який працює на іншому пристрої, і відображає поточні метрики сервера в реальному часі. Клієнт отримує дані про використання CPU, активність кожного ядра, ідентифікатор пристрою (ім'я сервера, модель пристрою, ім'я пристрою) та часові мітки — усе це передається через Bluetooth Low Energy.
Зміст
- Вкладки
- Вкладка Discovery
- Вкладка Metrics
- Як використовувати з Metrics Server
- Дозволи
- Технічні деталі
- Примітки та обмеження
Вкладки
Metrics Client має дві вкладки. Ви можете перемикатися між ними свайпом або натисканням на заголовки вкладок.
- Discovery — сканування та підключення до поруч розташованих серверів.
- Metrics — перегляд п оточних даних із підключеного сервера.
Вкладка Discovery
Вкладка Discovery є початковим екраном. Вона сканує поруч розташовані периферійні пристрої Metrics Server і дозволяє підключитися до одного з них.
Картка статусу виявлення
Картка статусу відображає:
- Індикатор сканування — кольорова крапка з підписом:
- Scanning (синя, з анімацією завантаження) — активне сканування периферійних пристроїв.
- Idle (сіра) — сканування призупинено.
- Discovered Servers — кількість наразі видимих периферійних пристроїв Metrics Server.
- Кнопка Refresh — зупиняє та перезапускає BLE-сканування для виявлення нових серверів.
Сканування починається автоматично при відкритті інструменту.
Список доступних серверів
Під карткою статусу відображається список знайдених серверів. Показуються лише ті периферійні пристрої, які рекламують UUID BLE-сервісу Metrics Server — інші Bluetooth-пристрої фільтруються.
Якщо сервери не знайдено, відображається контрольний список для усунення несправностей:
- На пристрої запущено інструмент 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)
- Доступність сервісу — зелена або сіра крапка, що вказує, чи сервер рекламує UUID сервісу Metrics.
- Кнопка Connect / Disconnect:
- Connect (синя) — ініціює BLE-підключення до цього сервера.
- Connecting (сіра, з індикатором завантаження) — підключення виконується.
- Disconnect (червона) — розриває підключення до поточного сервера.
Одночасно підтримується лише одне підключення до сервера. Під час підключення до одного сервера інші рядки серверів вимикаються.
Вкладка Metrics
Після підключення вкладка Metrics відображає поточні дані, що надходять із сервера. Клієнт автоматично перемикається на цю вкладку після успішного підключення.
Картка статусу підключення
Верхня картка відображає:
- Стан підключення — кольорова крапка з підписом:
- Connected (зелена)
- Disconnected (червона)
Після підключення з'являються додаткові деталі:
-
Рівень сигналу — індикатор із 5-ма смужками, підписом якості (Excellent, Good, Fair, Poor, Very Poor) та фактичним значенням RSSI у dBm:
Діапазон RSSI Якість Смужки >= -50 dBm Excellent 5 -51 до -65 dBm Good 4 -66 до -75 dBm Fair 3 -76 до -85 dBm Poor 2 Менше -85 dBm Very Poor 1 -
Історія 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 точок, що відповідає приблизно 100 секундам історії при оновленні раз на секунду.
Використання по ядрах
Якщо сервер передає дані по кожному ядру CPU, під графіком історії з'являється перегляд Per-Core Usage. Тут відображається поточний відсоток використання для кожного окремого ядра CPU, аналогічно візуалізації у інструменті CPU Monitor.
Стан без метрик
Якщо не підключено або метрики ще не надійшли, вкладка Metrics показує заглушку з іконкою графіка та підказкою підключитися до сервера через вкладку Discovery.
Як використовувати з Metrics Server
- На пристрої, який ви хочете спостерігати, відкрийте Інструменти > Metrics Server і натисніть Start Server.
- На пристрої з Metrics Client відкрийте Інструменти > Metrics Client.
- На вкладці Discovery знайдіть сервер і натисніть Connect.
- Клієнт автоматично перемкнеться на вкладку Metrics для відображення поточних показників.
Дозволи
- Дозвіл на Bluetooth — необхідний для BLE-сканування та підключення. Якщо дозвіл відхилено, увімкніть доступ до Bluetooth для Lirum у налаштуваннях iOS.
- Дозвіл на Bluetooth обробляється автоматично через CoreBluetooth. Системне сповіщення з'явиться під час першого запуску інструменту.
Технічні деталі
- Клієнт працює як BLE Central із використанням
CBCentralManager. Він сканує всі поруч розташовані периферійні пристрої та фільтрує список, залишаючи лише ті, що рекламують UUID сервісу Metrics Server. - Після підключення клієнт знаходить GATT-сервіс Metrics Server і підписується на характеристики сповіщення summary та per-core.
- Метрики надходять у вигляді бінарних пакетів приблизно раз на секунду. Клієнт декодує:
- Summary: ім'я сервера, модель пристрою, ім'я пристрою, загальне використання CPU (Float), кількість ядер (UInt16), часова мітка (UInt64 мілісекунд).
- Per-core: кількість ядер, масив використання по ядрах (Float на кожне ядро), часов а мітка (UInt64 мілісекунд).
- Клієнт підтримує обидва формати пакетів: v1 (застарілий) і v2 (актуальний) для зворотної сумісності зі старими версіями Metrics Server. v2 додає модель пристрою, ім'я сервера як окремі поля та часові мітки з мілісекундною точністю.
- RSSI для підключеного сервера опитується кожні 2 секунди через
readRSSI(). Історія RSSI зберігається до 120 зразків для побудови графіка сигналу. - Згладжування сигналу — у списку виявлення значення RSSI згладжуються експоненційно (alpha = 0.15) для зменшення візуального мерехтіння індикатора сигналу.
- Стабілізація імені — імена серверів у списку виявлення відображаються з затримкою 1,5 секунди, щоб уникнути мерехтіння при швидкій зміні імені в BLE-рекламі.
- Пільговий період зникнення — сервери, які зникають із BLE-реклами, залишаються у списку ще 3 секунди перед видаленням, щоб уникнути мерехтіння списку.
- Відновлення стану CoreBluetooth увімкнено, що дозволяє клієнту відновити існуюче підключення, якщо додаток було перезапущено системою.
- Історія метрик обмежена 100 записами, що відповідає приблизно 100 секундам даних при стандартному інтервалі оновлення в 1 секунду.
Примітки та обмеження
- Цей інструмент використовує Bluetooth LE, а не Wi-Fi. Обидва пристрої мають бути в межах дії BLE.
- Одночасно підтримується лише одне підключення до сервера.
- RSSI є приблизним індикатором сили сигналу і може змінюватися через вплив навколишнього середовища.
- Потік метрик містить використання CPU, використання по ядрах, кількість ядер і ідентифікатор пристрою. Інші метрики пристрою (пам'ять, сховище, температура) наразі не передаються.
- На visionOS Metrics Client недоступний, оскільки роль BLE central не підтримується на цій платформі.