Aller au contenu principal

Metrics Server

Diffusez en direct les métriques de l'appareil vers les appareils à proximité via Bluetooth LE.

Metrics Server : carte de statut avec nom de serveur configurable, contrôles du serveur, nombre de clients connectés et métriques actuelles.
Définissez un nom de serveur personnalisé ou choisissez parmi les préréglages comme nom marketing, identifiant du modèle ou nom de l'appareil.
Carte des métriques actuelles affichant l'utilisation CPU, le nombre de cœurs, le nom de l'appareil et un graphique en temps réel de l'historique d'utilisation.

Vue d'ensemble

Metrics Server transforme votre appareil en un périphérique Bluetooth Low Energy (BLE) qui diffuse en direct les métriques de l'appareil vers les appareils à proximité exécutant Metrics Client. Les clients connectés reçoivent un flux continu de données incluant l'utilisation CPU, l'activité CPU par cœur, les informations d'identité de l'appareil et les horodatages — le tout transmis une fois par seconde via des caractéristiques BLE en notification.

Cela est utile pour surveiller les performances d’un appareil depuis un autre en temps réel, sans nécessiter de réseau Wi-Fi ni d’infrastructure.

Table des matières

Sections principales

Metrics Server est un écran unique défilant avec quatre cartes :

  • Metrics Server — statut et configuration du nom du serveur
  • Contrôles du serveur — démarrer/arrêter la diffusion BLE
  • Clients connectés — nombre d’appareils abonnés
  • Métriques actuelles — aperçu en direct des données diffusées

Carte de statut Metrics Server

La carte supérieure affiche :

  • Un indicateur d’exécution — un point coloré avec une étiquette :
    • En cours (vert) — le serveur fait de la publicité et transmet activement.
    • Arrêté (rouge) — le serveur ne fait pas de publicité.
  • Champ Nom du serveur — un champ texte modifiable qui détermine le nom visible par les autres appareils lors de la découverte BLE. Voir Nom du serveur et préréglages pour plus de détails.
  • Statut — Actif ou Inactif.
  • État Bluetooth — état actuel de la radio Bluetooth (Activé, Désactivé, Non autorisé, Non supporté, Réinitialisation, Inconnu).
  • Connectés — nombre d’appareils clients actuellement abonnés au flux de métriques.
  • Erreur — tout message d’erreur provenant de la pile BLE (affiché uniquement en cas d’erreur).

Nom du serveur et préréglages

Le nom du serveur détermine comment cet appareil apparaît aux utilisateurs de Metrics Client lors de la découverte. Vous pouvez saisir un nom personnalisé ou utiliser le menu déroulant Préréglages pour appliquer rapidement l’une des options intégrées :

PréréglageExemple
Nom marketing + identifiant du modèleiPhone 16 Pro Max (iPhone17,2)
Nom marketing uniquementiPhone 16 Pro Max
Identifiant du modèle uniquementiPhone17,2
Nom de l’appareiliPhone 16ProMax de Rogerio

Le réglage par défaut est Nom marketing (Identifiant du modèle) lorsque disponible.

Modifier le nom pendant que le serveur fonctionne redémarre automatiquement la publicité BLE pour que le nouveau nom prenne effet immédiatement.

Contrôles du serveur

La carte Contrôles du serveur contient un seul bouton Démarrer le serveur / Arrêter le serveur :

  • Démarrer le serveur (vert) — lance la publicité BLE et commence la collecte des métriques CPU. Le serveur commence à transmettre les données dès qu’un client s’abonne.
  • Arrêter le serveur (rouge) — arrête la publicité BLE et suspend la collecte des métriques.

Une description sous le bouton explique que le serveur diffuse les métriques aux clients connectés via Bluetooth LE.

Clients connectés

La carte Clients connectés affiche :

  • Le nombre d’appareils clients actuellement abonnés (affiché en grand).
  • Lorsqu’aucun client n’est connecté : un espace réservé avec une icône et un message invitant à démarrer le serveur et utiliser Metrics Client sur un autre appareil.
  • Lorsque des clients sont connectés : un message de confirmation indiquant le nombre (ex. « 1 client reçoit les métriques »).

Le serveur ne transmet des données que lorsqu’au moins un client est abonné. Lorsqu’aucun client n’est connecté, le minuteur interne est mis en pause pour économiser les ressources.

Métriques actuelles

La carte Métriques actuelles affiche un aperçu en direct des données diffusées :

ChampDescription
Utilisation CPUPourcentage actuel d’utilisation globale du CPU de cet appareil (ex. 30,0%).
Nombre de cœursNombre de cœurs CPU sur cet appareil (ex. 6).
AppareilNom de l’appareil attribué par l’utilisateur (ex. « iPhone 16ProMax de Rogerio »).

Sous ces champs, un graphique linéaire Historique d’utilisation montre l’évolution de l’utilisation CPU dans le temps, offrant une vue visuelle des fluctuations de la charge.

Données transmises

Le serveur diffuse deux caractéristiques BLE en notification une fois par seconde à tous les clients abonnés :

Caractéristique Résumé

Contient les champs suivants dans une charge binaire compacte :

ChampTypeDescription
Nom du serveurChaîne (jusqu’à 32 caractères)Le nom configurable affiché dans la carte de statut.
Modèle de l’appareilChaîne (jusqu’à 32 caractères)Nom marketing de l’appareil (ex. « iPhone 16 Pro Max »).
Nom de l’appareilChaîne (jusqu’à 32 caractères)Nom de l’appareil attribué par l’utilisateur dans les Réglages iOS.
Utilisation CPUFloat (32 bits)Utilisation globale du CPU en pourcentage (0–100).
Nombre de cœursUInt16Nombre de cœurs CPU.
HorodatageUInt64Millisecondes depuis l’époque Unix.

Caractéristique par cœur

Contient les données d’utilisation CPU par cœur :

ChampTypeDescription
Nombre de cœursUInt8Nombre de cœurs (jusqu’à 32).
Utilisations par cœurFloat[]Un float 32 bits par cœur, représentant le pourcentage d’utilisation de ce cœur.
HorodatageUInt64Millisecondes depuis l’époque Unix.

Comment utiliser avec Metrics Client

  1. Sur l’appareil que vous souhaitez observer, ouvrez Outils > Metrics Server et appuyez sur Démarrer le serveur.
  2. Sur un autre appareil, ouvrez Outils > Metrics Client.
  3. Dans l’onglet Découverte, trouvez le serveur dans la liste et appuyez sur Connecter.
  4. Le client bascule automatiquement vers l’onglet Métriques pour afficher les données en direct.

Détails techniques

  • Le serveur agit en tant que périphérique BLE utilisant CBPeripheralManager. Il fait de la publicité d’un service GATT personnalisé avec deux caractéristiques en notification uniquement (résumé et par cœur).
  • Les données sont transmises une fois par seconde lorsqu’au moins un client est abonné. Le minuteur est mis en pause lorsqu’aucun client n’est connecté.
  • Toutes les valeurs numériques multi-octets dans la charge utile sont en little-endian, telles que produites nativement par Swift sur les plateformes Apple.
  • Le serveur utilise la restauration d’état CoreBluetooth, ce qui lui permet de récupérer l’état de la publicité si l’application est relancée par le système.
  • La gestion de la pression sur le canal BLE est effectuée de manière fluide — si la file d’attente de transmission est pleine, les mises à jour sont mises en file d’attente et envoyées lorsque le système signale sa disponibilité via peripheralManagerIsReady(toUpdateSubscribers:).
  • Les métriques CPU sont échantillonnées à partir du même ToolCPUViewModel utilisé par l’outil Moniteur CPU, garantissant des lectures cohérentes.

Notes et limitations

  • Cet outil utilise Bluetooth LE, pas le réseau Wi-Fi. Les appareils doivent être à portée BLE (typiquement 10–30 mètres en intérieur).
  • La disponibilité du BLE, le comportement en arrière-plan et la stabilité de la connexion varient selon l’appareil et la version du système d’exploitation.
  • Sur visionOS, Metrics Server n’est pas disponible car le rôle de périphérique BLE n’est pas supporté.
  • Le nom du serveur est limité à 32 caractères en raison des contraintes de taille de la charge BLE.
  • Seules les métriques liées au CPU sont actuellement transmises. Les autres métriques de l’appareil (mémoire, thermique, etc.) ne sont pas incluses dans le flux BLE.