Zum Hauptinhalt springen

Metrics Server

Übertragen Sie Live-Gerätemetriken an nahegelegene Geräte über Bluetooth LE.

Metrics Server: Statuskarte mit konfigurierbarem Servernamen, Serversteuerungen, Anzahl verbundener Clients und aktuellen Metriken.
Legen Sie einen eigenen Servernamen fest oder wählen Sie aus Presets wie Marketingname, Modellkennung oder Gerätename.
Karte Aktuelle Metriken mit CPU-Auslastung, Kernanzahl, Gerätename und einer Live-Verlaufsgrafik.

Überblick

Metrics Server verwandelt Ihr Gerät in ein Bluetooth Low Energy (BLE) Peripheriegerät, das Live-Gerätemetriken an nahegelegene Geräte mit Metrics Client überträgt. Verbundene Clients erhalten einen kontinuierlichen Datenstrom, einschließlich CPU-Auslastung, CPU-Aktivität pro Kern, Geräteidentität und Zeitstempel – alles wird einmal pro Sekunde über BLE Notify-Charakteristiken gesendet.

Dies ist nützlich, um die Leistung eines Geräts in Echtzeit von einem anderen Gerät aus zu überwachen, ohne ein WLAN-Netzwerk oder zusätzliche Infrastruktur zu benötigen.

Inhaltsverzeichnis

Hauptbereiche

Metrics Server besteht aus einer einzelnen scrollbaren Ansicht mit vier Karten:

  • Metrics Server — Status und Servernamen-Konfiguration
  • Serversteuerungen — Starten/Stoppen der BLE-Übertragung
  • Verbundene Clients — Anzahl der abonnierten Geräte
  • Aktuelle Metriken — Live-Vorschau der übertragenen Daten

Metrics Server Statuskarte

Die oberste Karte zeigt:

  • Einen Laufzeitindikator — ein farbiger Punkt mit Beschriftung:
    • Läuft (grün) — der Server sendet aktiv und überträgt Daten.
    • Gestoppt (rot) — der Server sendet nicht.
  • Servername-Feld — ein editierbares Textfeld, das den Namen bestimmt, den andere Geräte bei der BLE-Suche sehen. Details siehe Servername und Presets.
  • Status — Aktiv oder Inaktiv.
  • Bluetooth-Status — aktueller Bluetooth-Funkstatus (Eingeschaltet, Ausgeschaltet, Nicht autorisiert, Nicht unterstützt, Wird zurückgesetzt, Unbekannt).
  • Verbunden — Anzahl der aktuell abonnierten Client-Geräte.
  • Fehler — Fehlermeldung aus dem BLE-Stack (wird nur bei Fehlern angezeigt).

Servername und Presets

Der Servername bestimmt, wie dieses Gerät für Metrics Client-Nutzer während der Suche erscheint. Sie können einen beliebigen Namen eingeben oder das Presets-Dropdown nutzen, um schnell eine der vordefinierten Optionen zu wählen:

PresetBeispiel
Marketingname + ModellkennungiPhone 16 Pro Max (iPhone17,2)
Nur MarketingnameiPhone 16 Pro Max
Nur ModellkennungiPhone17,2
GerätenameRogerio's iPhone 16ProMax

Standardmäßig wird Marketingname (Modellkennung) verwendet, sofern verfügbar.

Eine Namensänderung während der Server läuft, startet die BLE-Übertragung automatisch neu, sodass der neue Name sofort sichtbar ist.

Serversteuerungen

Die Karte Serversteuerungen enthält einen einzigen Server starten / Server stoppen-Button:

  • Server starten (grün) — startet die BLE-Übertragung und beginnt mit der Erfassung der CPU-Metriken. Die Übertragung beginnt, sobald ein Client abonniert.
  • Server stoppen (rot) — stoppt die BLE-Übertragung und beendet die Metrik-Erfassung.

Eine Beschreibung unterhalb des Buttons erklärt, dass der Server Metriken über Bluetooth LE an verbundene Clients sendet.

Verbundene Clients

Die Karte Verbundene Clients zeigt:

  • Die Anzahl der aktuell abonnierten Client-Geräte (deutlich als große Zahl dargestellt).
  • Wenn keine Clients verbunden sind: ein Platzhalter mit Symbol und Hinweis, den Server zu starten und Metrics Client auf einem anderen Gerät zu verwenden.
  • Wenn Clients verbunden sind: eine Bestätigungsmeldung mit der Anzahl (z. B. „1 Client empfängt Metriken“).

Der Server überträgt Daten nur, wenn mindestens ein Client abonniert ist. Sind keine Clients verbunden, wird der interne Timer pausiert, um Ressourcen zu sparen.

Aktuelle Metriken

Die Karte Aktuelle Metriken zeigt eine Live-Vorschau der übertragenen Daten:

FeldBeschreibung
CPU-AuslastungAktuelle gesamte CPU-Auslastung dieses Geräts (z. B. 30,0%).
KernanzahlAnzahl der CPU-Kerne dieses Geräts (z. B. 6).
GerätDer vom Nutzer vergebene Gerätename (z. B. „Rogerio's iPhone 16ProMax“).

Unter diesen Feldern zeigt ein Verlaufsdiagramm die CPU-Auslastung im Zeitverlauf und vermittelt einen visuellen Eindruck der Auslastungsschwankungen.

Übertragene Daten

Der Server sendet zwei BLE Notify-Charakteristiken einmal pro Sekunde an alle abonnierten Clients:

Zusammenfassungs-Charakteristik

Enthält folgende Felder in einem kompakten Binärformat:

FeldTypBeschreibung
ServernameString (bis 32 Zeichen)Der konfigurierbare Name aus der Statuskarte.
GerätemodellString (bis 32 Zeichen)Marketingname des Geräts (z. B. „iPhone 16 Pro Max“).
GerätenameString (bis 32 Zeichen)Nutzervergebener Gerätename aus den iOS-Einstellungen.
CPU-AuslastungFloat (32 Bit)Gesamte CPU-Auslastung als Prozentwert (0–100).
KernanzahlUInt16Anzahl der CPU-Kerne.
ZeitstempelUInt64Millisekunden seit Unix-Epoche.

Pro-Kern-Charakteristik

Enthält CPU-Auslastungsdaten pro Kern:

FeldTypBeschreibung
KernanzahlUInt8Anzahl der Kerne (max. 32).
KernauslastungenFloat[]Je ein 32-Bit-Float pro Kern, der die Auslastung dieses Kerns angibt.
ZeitstempelUInt64Millisekunden seit Unix-Epoche.

Verwendung mit Metrics Client

  1. Öffnen Sie auf dem zu beobachtenden Gerät Tools > Metrics Server und tippen Sie auf Server starten.
  2. Öffnen Sie auf einem anderen Gerät Tools > Metrics Client.
  3. Suchen Sie im Tab Entdeckung den Server in der Liste und tippen Sie auf Verbinden.
  4. Der Client wechselt automatisch zum Tab Metriken und zeigt die Live-Daten an.

Technische Details

  • Der Server agiert als BLE-Peripheriegerät mit CBPeripheralManager. Es wird ein eigener GATT-Service mit zwei Notify-Charakteristiken (Zusammenfassung und pro Kern) angeboten.
  • Daten werden einmal pro Sekunde übertragen, sobald mindestens ein Client abonniert ist. Der Timer pausiert, wenn keine Clients verbunden sind.
  • Alle mehrbyteigen numerischen Werte im Payload sind Little-Endian, wie von Swift auf Apple-Plattformen nativ erzeugt.
  • Der Server nutzt CoreBluetooth State Restoration, um den Werbezustand wiederherzustellen, falls die App vom System neu gestartet wird.
  • BLE-Backpressure wird sauber behandelt – ist die Sendequeue voll, werden Updates gepuffert und gesendet, sobald das System über peripheralManagerIsReady(toUpdateSubscribers:) bereit signalisiert.
  • Die CPU-Metriken werden aus demselben ToolCPUViewModel wie im CPU Monitor-Tool abgerufen, um konsistente Werte zu gewährleisten.

Hinweise und Einschränkungen

  • Dieses Tool verwendet Bluetooth LE, kein WLAN. Geräte müssen sich in BLE-Reichweite befinden (typisch 10–30 Meter in Innenräumen).
  • BLE-Verfügbarkeit, Hintergrundverhalten und Verbindungsstabilität variieren je nach Gerät und Betriebssystemversion.
  • Unter visionOS ist Metrics Server nicht verfügbar, da die BLE-Peripherierolle nicht unterstützt wird.
  • Der Servername ist auf 32 Zeichen begrenzt, bedingt durch die BLE-Payloadgröße.
  • Es werden derzeit nur CPU-bezogene Metriken übertragen. Weitere Gerätemetriken (Speicher, Thermik etc.) sind im BLE-Stream nicht enthalten.