Metrics Server
Sänd live enhetsmetrik till närliggande enheter via Bluetooth LE.
Översikt
Metrics Server gör din enhet till en Bluetooth Low Energy (BLE) perifer som sänder live enhetsmetrik till närliggande enheter som kör Metrics Client. Anslutna klienter tar emot en kontinuerlig dataström med bland annat CPU-användning, aktivitet per CPU-kärna, enhetsidentitet och tidsstämplar — allt skickas en gång per sekund via BLE notify-karaktäristika.
Detta är användbart för att övervaka en enhets prestanda från en annan i realtid, utan behov av Wi-Fi-nätverk eller annan infrastruktur.
Innehållsförteckning
- Huvudsektioner
- Metrics Server statuskort
- Servernamn och förinställningar
- Serverkontroller
- Anslutna klienter
- Aktuella mätvärden
- Överförd data
- Så används med Metrics Client
- Tekniska detaljer
- Noteringar och begränsningar
Huvudsektioner
Metrics Server är en enda rullbar vy med fyra kort:
- Metrics Server — status och konfiguration av servernamn
- Serverkontroller — starta/stoppa BLE-sändning
- Anslutna klienter — antal anslutna enheter
- Aktuella mätvärden — liveförhandsvisning av data som sänds
Metrics Server statuskort
Det översta kortet visar:
- En driftindikator — en färgad punkt med etikett:
- Körs (grön) — servern annonserar och sänder aktivt.
- Stoppad (röd) — servern annonserar inte.
- Servernamn — ett redigerbart textfält som avgör vilket namn andra enheter ser vid BLE-upptäckt. Se Servernamn och förinställningar för detaljer.
- Status — Aktiv eller Inaktiv.
- Bluetooth-status — aktuell status för Bluetooth-radio (Påslagen, Avslagen, Obehörig, Ej stödd, Återställs, Okänd).
- Anslutna — antal klientenheter som för närvarande prenumererar på metrikströmmen.
- Fel — eventuella felmeddelanden från BLE-stacken (visas endast vid fel).
Servernamn och förinställningar
Servernamnet avgör hur denna enhet visas för Metrics Client-användare vid upptäckt. Du kan ange valfritt namn, eller använda rullgardinsmenyn Förinställningar för att snabbt välja ett av de inbyggda alternativen:
| Förinställning | Exempel |
|---|---|
| Marknadsnamn + modellidentifierare | iPhone 16 Pro Max (iPhone17,2) |
| Endast marknadsnamn | iPhone 16 Pro Max |
| Endast modellidentifierare | iPhone17,2 |
| Enhetsnamn | Rogerio's iPhone 16ProMax |
Standard är Marknadsnamn (Modellidentifierare) om tillgängligt.
Att ändra namnet medan servern körs startar automatiskt om BLE-annonseringen så att det nya namnet gäller direkt.
Serverkontroller
Kortet Serverkontroller innehåller en enda knapp: Starta server / Stoppa server:
- Starta server (grön) — startar BLE-annonsering och börjar samla in CPU-metrik. Servern börjar sända data så snart en klient prenumererar.
- Stoppa server (röd) — stoppar BLE-annonsering och pausar insamling av metrik.
En beskrivning under knappen förklarar att servern sänder metrik till anslutna klienter via Bluetooth LE.
Anslutna klienter
Kortet Anslutna klienter visar:
- Antal klientenheter som för närvarande prenumererar (visas tydligt som en stor siffra).
- När inga klienter är anslutna: en platshållare med ikon och ett meddelande om att starta servern och använda Metrics Client på en annan enhet.
- När klienter är anslutna: ett bekräftelsemeddelande som visar antalet (t.ex. ”1 klient tar emot metrik”).
Servern sänder endast data när minst en klient är ansluten. När inga klienter är anslutna pausas den interna timern för att spara resurser.
Aktuella mätvärden
Kortet Aktuella mätvärden visar en liveförhandsvisning av data som sänds:
| Fält | Beskrivning |
|---|---|
| CPU-användning | Aktuell total CPU-användning i procent för denna enhet (t.ex. 30,0%). |
| Antal kärnor | Antal CPU-kärnor på denna enhet (t.ex. 6). |
| Enhet | Det användardefinierade enhetsnamnet (t.ex. "Rogerio's iPhone 16ProMax"). |
Under dessa fält visas en Historikgraf som visar CPU-användningen över tid, vilket ger en visuell överblick av arbetsbelastningens variation.
Överförd data
Servern sänder två BLE notify-karaktäristika en gång per sekund till alla anslutna klienter:
Sammanfattningskaraktäristika
Innehåller följande fält i en kompakt binär nyttolast:
| Fält | Typ | Beskrivning |
|---|---|---|
| Servernamn | Sträng (upp till 32 tecken) | Det konfigurerbara namnet som visas i statuskortet. |
| Enhetsmodell | Sträng (upp till 32 tecken) | Enhetens marknadsnamn (t.ex. "iPhone 16 Pro Max"). |
| Enhetsnamn | Sträng (upp till 32 tecken) | Det användardefinierade enhetsnamnet från iOS-inställningar. |
| CPU-användning | Float (32-bit) | Total CPU-användning i procent (0–100). |
| Antal kärnor | UInt16 | Antal CPU-kärnor. |
| Tidsstämpel | UInt64 | Millisekunder sedan Unix-epoken. |
Per-kärna-karaktäristika
Innehåller data om CPU-användning per kärna:
| Fält | Typ | Beskrivning |
|---|---|---|
| Antal kärnor | UInt8 | Antal kärnor (upp till 32). |
| Kärnors användning | Float[] | En 32-bit float per kärna, som visar den kärnans användning i procent. |
| Tidsstämpel | UInt64 | Millisekunder sedan Unix-epoken. |
Så används med Metrics Client
- På enheten du vill observera, öppna Verktyg > Metrics Server och tryck på Starta server.
- På en annan enhet, öppna Verktyg > Metrics Client.
- I fliken Upptäckt, hitta servern i listan och tryck på Anslut.
- Klienten växlar automatiskt till fliken Metrik för att visa live-data.
Tekniska detaljer
- Servern agerar som en BLE-perifer med
CBPeripheralManager. Den annonserar en anpassad GATT-tjänst med två notify-only-karaktäristika (sammanfattning och per-kärna). - Data sänds en gång per sekund när minst en klient är ansluten. Timern pausas när inga klienter är anslutna.
- Alla flerbajtiga numeriska värden i nyttolasten är little-endian, som genereras nativt av Swift på Apple-plattformar.
- Servern använder CoreBluetooth state restoration, vilket gör att annonseringsstatus kan återställas om appen startas om av systemet.
- BLE-backpressure hanteras smidigt — om sändkön är full köas uppdateringar och skickas när systemet signalerar beredskap via
peripheralManagerIsReady(toUpdateSubscribers:). - CPU-metrik samplas från samma
ToolCPUViewModelsom används av CPU Monitor-verktyget, vilket säkerställer konsekventa mätvärden.
Noteringar och begränsningar
- Detta verktyg använder Bluetooth LE, inte Wi-Fi-nätverk. Enheter måste vara inom BLE-räckvidd (vanligtvis 10–30 meter inomhus).
- BLE-tillgänglighet, bakgrundsbeteende och anslutningsstabilitet varierar beroende på enhet och OS-version.
- På visionOS är Metrics Server inte tillgänglig eftersom BLE-periferrollen inte stöds.
- Servernamnet är begränsat till 32 tecken på grund av BLE-nyttolastens storlek.
- Endast CPU-relaterad metrik sänds för närvarande. Andra enhetsvärden (minne, temperatur, etc.) ingår inte i BLE-strömmen.