Metrics Server
Broadcast live enhedsdata til nærliggende enheder via Bluetooth LE.
Oversigt
Metrics Server gør din enhed til en Bluetooth Low Energy (BLE) perifer, der udsender live enhedsdata til nærliggende enheder, der kører Metrics Client. Tilsluttede klienter modtager en kontinuerlig datastrøm, herunder CPU-forbrug, aktivitet pr. kerne, enhedsidentitet og tidsstempler — alt sammen sendt én gang i sekundet via BLE notify-karakteristika.
Dette er nyttigt til at overvåge én enheds ydeevne fra en anden i realtid, uden behov for Wi-Fi-netværk eller anden infrastruktur.
Indholdsfortegnelse
- Hovedsektioner
- Metrics Server statuskort
- Servernavn og forudindstillinger
- Serverkontroller
- Tilsluttede klienter
- Aktuelle målinger
- Transmitterede data
- Sådan bruges med Metrics Client
- Tekniske detaljer
- Noter og begrænsninger
Hovedsektioner
Metrics Server består af én rullende skærm med fire kort:
- Metrics Server — status og konfiguration af servernavn
- Serverkontroller — start/stop BLE-udsendelse
- Tilsluttede klienter — antal tilsluttede enheder
- Aktuelle målinger — live forhåndsvisning af de udsendte data
Metrics Server statuskort
Det øverste kort viser:
- En driftsindikator — en farvet prik med en etiket:
- Kører (grøn) — serveren udsender og transmitterer aktivt.
- Stoppet (rød) — serveren udsender ikke.
- Servernavn felt — et redigerbart tekstfelt, der bestemmer det navn, andre enheder ser under BLE-opdagelse. Se Servernavn og forudindstillinger for detaljer.
- Status — Aktiv eller Inaktiv.
- Bluetooth-status — den aktuelle Bluetooth-radio status (Tændt, Slukket, Uautoriseret, Ikke understøttet, Nulstiller, Ukendt).
- Tilsluttet — antallet af klientenheder, der aktuelt abonnerer på målingsstrømmen.
- Fejl — eventuelle fejlmeddelelser fra BLE-stakken (vises kun ved fejl).
Servernavn og forudindstillinger
Servernavnet bestemmer, hvordan denne enhed vises for Metrics Client-brugere under opdagelse. Du kan indtaste et vilkårligt navn eller bruge Forudindstillinger-dropdownen for hurtigt at vælge en af de indbyggede muligheder:
| Forudindstilling | Eksempel |
|---|---|
| Markedsføringsnavn + modelidentifikator | iPhone 16 Pro Max (iPhone17,2) |
| Kun markedsføringsnavn | iPhone 16 Pro Max |
| Kun modelidentifikator | iPhone17,2 |
| Enhedsnavn | Rogerio's iPhone 16ProMax |
Standardindstillingen er Markedsføringsnavn (Modelidentifikator), hvis tilgængelig.
Ændring af navnet, mens serveren kører, genstarter automatisk BLE-udsendelsen, så det nye navn træder i kraft med det samme.
Serverkontroller
Serverkontrolkortet indeholder én Start server / Stop server-knap:
- Start server (grøn) — starter BLE-udsendelse og begynder at indsamle CPU-målinger. Serveren begynder at sende data, så snart en klient abonnerer.
- Stop server (rød) — stopper BLE-udsendelse og standser målingsindsamlingen.
En beskrivelse under knappen forklarer, at serveren udsender målinger til tilsluttede klienter via Bluetooth LE.
Tilsluttede klienter
Kortet Tilsluttede klienter viser:
- Antallet af aktuelt tilsluttede klientenheder (fremhævet som et stort tal).
- Når ingen klienter er tilsluttet: en pladsholder med ikon og en besked om at starte serveren og bruge Metrics Client på en anden enhed.
- Når klienter er tilsluttet: en bekræftelsesbesked, der viser antallet (f.eks. “1 klient modtager målinger”).
Serveren sender kun data, når mindst én klient er abonneret. Når ingen klienter er tilsluttet, sættes den interne timer på pause for at spare ressourcer.
Aktuelle målinger
Kortet Aktuelle målinger viser en live forhåndsvisning af de udsendte data:
| Felt | Beskrivelse |
|---|---|
| CPU-forbrug | Det aktuelle samlede CPU-forbrug i procent for denne enhed (f.eks. 30,0%). |
| Antal kerner | Antallet af CPU-kerner på denne enhed (f.eks. 6). |
| Enhed | Det brugerdefinerede enhedsnavn (f.eks. "Rogerio's iPhone 16ProMax"). |
Under disse felter vises en Historik for forbrug-linjegraf, der illustrerer CPU-forbruget over tid og giver et visuelt indtryk af belastningsvariationer.
Transmitterede data
Serveren udsender to BLE notify-karakteristika én gang i sekundet til alle tilsluttede klienter:
Sammenfatningskarakteristik
Indeholder følgende felter i en kompakt binær payload:
| Felt | Type | Beskrivelse |
|---|---|---|
| Servernavn | String (op til 32 tegn) | Det konfigurerbare navn vist i statuskortet. |
| Enhedsmodel | String (op til 32 tegn) | Enhedens markedsføringsnavn (f.eks. "iPhone 16 Pro Max"). |
| Enhedsnavn | String (op til 32 tegn) | Det brugerdefinerede enhedsnavn fra iOS-indstillinger. |
| CPU-forbrug | Float (32-bit) | Samlet CPU-forbrug i procent (0–100). |
| Antal kerner | UInt16 | Antal CPU-kerner. |
| Tidsstempel | UInt64 | Millisekunder siden Unix-epoken. |
Pr.-kerne-karakteristik
Indeholder data om CPU-forbrug pr. kerne:
| Felt | Type | Beskrivelse |
|---|---|---|
| Antal kerner | UInt8 | Antal kerner (op til 32). |
| Kerneforbrug | Float[] | Én 32-bit float pr. kerne, der angiver den pågældende kernes forbrug i procent. |
| Tidsstempel | UInt64 | Millisekunder siden Unix-epoken. |
Sådan bruges med Metrics Client
- På den enhed, du vil overvåge, åbn Værktøjer > Metrics Server og tryk på Start server.
- På en anden enhed, åbn Værktøjer > Metrics Client.
- I Opdagelse-fanen, find serveren på listen og tryk på Opret forbindelse.
- Klienten skifter automatisk til Målinger-fanen for at vise live data.
Tekniske detaljer
- Serveren fungerer som en BLE-perifer ved brug af
CBPeripheralManager. Den udsender en brugerdefineret GATT-tjeneste med to notify-only karakteristika (sammenfatning og pr.-kerne). - Data sendes én gang i sekundet, når mindst én klient er abonneret. Timeren sættes på pause, når ingen klienter er tilsluttet.
- Alle multibyte-talværdier i payloaden er little-endian, som genereret af Swift på Apple-platforme.
- Serveren benytter CoreBluetooth state restoration, så den kan gendanne udsendelsestilstand, hvis appen genstartes af systemet.
- BLE-backpressure håndteres elegant — hvis sendekøen er fuld, køres opdateringer i kø og sendes, når systemet signalerer klarhed via
peripheralManagerIsReady(toUpdateSubscribers:). - CPU-målinger samples fra den samme
ToolCPUViewModel, som bruges af CPU Monitor-værktøjet, hvilket sikrer ensartede målinger.
Noter og begrænsninger
- Dette værktøj bruger Bluetooth LE, ikke Wi-Fi-netværk. Enheder skal være inden for BLE-rækkevidde (typisk 10–30 meter indendørs).
- Tilgængelighed af BLE, baggrundsadfærd og forbindelsesstabilitet varierer afhængigt af enhed og OS-version.
- På visionOS er Metrics Server ikke tilgængelig, da BLE-periferrollen ikke understøttes.
- Servernavnet er begrænset til 32 tegn på grund af BLE-payloadbegrænsninger.
- Kun CPU-relaterede målinger transmitteres i øjeblikket. Andre enhedsdata (hukommelse, termiske forhold osv.) indgår ikke i BLE-strømmen.