Cliente de Métricas
Descubra Servidores de Métricas próximos e visualize métricas do dispositivo em tempo real transmitidas via Bluetooth LE.
Visão geral
O Cliente de Métricas conecta-se a um Servidor de Métricas em execução em outro dispositivo e exibe as métricas ao vivo do servidor em tempo real. Ele recebe uso de CPU, atividade de CPU por núcleo, identidade do dispositivo (nome do servidor, modelo do dispositivo, nome do dispositivo) e timestamps — tudo transmitido via Bluetooth Low Energy.
Sumário
- Abas
- Aba Descoberta
- Aba Métricas
- Como Usar com o Servidor de Métricas
- Permissões
- Detalhes técnicos
- Notas e limitações
Abas
O Cliente de Métricas possui duas abas. Você pode deslizar entre elas ou tocar nos títulos das abas.
- Descoberta — escaneia e conecta-se a servidores próximos.
- Métricas — visualiza dados ao vivo do servidor conectado.
Aba Descoberta
A aba Descoberta é a tela inicial. Ela escaneia periféricos de Servidor de Métricas próximos e permite que você se conecte a um.
Cartão de Status de Descoberta
O cartão de status mostra:
- Um indicador de escaneamento — um ponto colorido com um rótulo:
- Escaneando (azul, com animação de carregamento) — escaneando ativamente por periféricos.
- Inativo (cinza) — escaneamento pausado.
- Servidores Descobertos — a contagem de periféricos de Servidor de Métricas atualmente visíveis.
- Um botão Atualizar — para e reinicia o escaneamento BLE para detectar novos servidores.
O escaneamento inicia automaticamente quando a ferramenta é aberta.
Lista de Servidores Disponíveis
Abaixo do cartão de status, os servidores descobertos são listados. Apenas periféricos que anunciam o UUID do serviço BLE do Servidor de Métricas são mostrados — outros dispositivos Bluetooth são filtrados.
Quando nenhum servidor é encontrado, uma lista de verificação para solução de problemas é exibida:
- Um dispositivo está executando a ferramenta Servidor de Métricas
- A permissão de Rede Local está concedida nos Ajustes
- Ambos os dispositivos estão na mesma rede / dentro do alcance BLE
Servidores que desaparecem dos anúncios BLE são mantidos na lista por um período de tolerância curto (3 segundos) para evitar oscilação.
Linha do Servidor
Cada servidor descoberto é exibido como uma linha contendo:
- Nome do servidor — o nome configurado no Servidor de Métricas (ex.: "iPhone 16 Pro Max (iPhone17,2)"). Os nomes de exibição têm um atraso de 1,5 segundos para evitar oscilação rápida quando o nome do anúncio BLE muda.
- RSSI — a intensidade do sinal em dBm, com um indicador de 3 barras codificado por cores:
- Verde (3 barras) — sinal forte (>= -60 dBm)
- Laranja (2 barras) — sinal moderado (>= -75 dBm)
- Vermelho (1 barra) — sinal fraco (< -75 dBm)
- Disponibilidade do serviço — um ponto verde ou cinza indicando se o servidor está anunciando o UUID do serviço Metrics.
- Um botão Conectar / Desconectar:
- Conectar (azul) — inicia uma conexão BLE com este servidor.
- Conectando (cinza, com indicador de carregamento) — conexão em andamento.
- Desconectar (vermelho) — desconecta do servidor atual.
Apenas uma conexão de servidor é suportada por vez. Enquanto conecta a um servidor, as outras linhas de servidor ficam desabilitadas.
Aba Métricas
Quando conectado, a aba Métricas exibe dados ao vivo transmitidos do servidor. O cliente muda automaticamente para esta aba após uma conexão bem-sucedida.
Cartão de Status de Conexão
O cartão superior mostra:
- Estado da conexão — um ponto colorido com um rótulo:
- Conectado (verde)
- Desconectado (vermelho)
Quando conectado, detalhes adicionais aparecem:
-
Intensidade do Sinal — um indicador de 5 barras com um rótulo de qualidade (Excelente, Bom, Regular, Ruim, Muito Ruim) e o valor bruto de RSSI em dBm:
Faixa de RSSI Qualidade Barras >= -50 dBm Excelente 5 -51 a -65 dBm Bom 4 -66 a -75 dBm Regular 3 -76 a -85 dBm Ruim 2 Abaixo de -85 dBm Muito Ruim 1 -
Histórico de RSSI — um gráfico de linha contínuo das leituras de intensidade do sinal (até 120 amostras), fornecendo uma noção visual da estabilidade da conexão.
-
Identidade do servidor — três linhas de chave-valor mostrando os dados transmitidos pelo servidor:
Campo Descrição Nome do Servidor O nome configurado no Servidor de Métricas (ex.: "iPhone 16 Pro Max (iPhone17,2)"). Modelo do Dispositivo O nome comercial do dispositivo servidor (ex.: "iPhone 16 Pro Max"). Dispositivo O nome do dispositivo atribuído pelo usuário nos Ajustes do iOS (ex.: "iPhone 16ProMax do Rogério"). -
Mensagens de erro — se ocorrerem erros BLE (falha de conexão, desconexão, etc.), eles aparecem como um aviso vermelho.
-
Um botão Desconectar (vermelho, largura total) para encerrar a conexão.
Cartão de Métricas em Tempo Real
Quando métricas estão sendo recebidas, este cartão exibe:
| Campo | Descrição |
|---|---|
| Uso de CPU | A porcentagem atual de uso geral de CPU do dispositivo servidor (ex.: 30,0%), exibida como um número grande. |
| Contagem de Núcleos | O número de núcleos de CPU no dispositivo servidor (ex.: 6). |
| Última Atualização | O timestamp do pacote de métricas mais recente, mostrado como uma string de hora. |
Histórico de Uso de CPU
Um gráfico de linha contínuo mostrando o uso de CPU do servidor ao longo do tempo. O gráfico mantém até 100 pontos de dados, fornecendo aproximadamente 100 segundos de histórico na taxa de atualização de 1 segundo.
Uso por Núcleo
Quando o servidor fornece dados de CPU por núcleo, uma visualização de Uso por Núcleo é mostrada abaixo do gráfico de histórico. Isso exibe a porcentagem de uso atual para cada núcleo de CPU individual, correspondendo à mesma visualização por núcleo usada na ferramenta Monitor de CPU.
Estado Sem Métricas
Quando não conectado ou quando nenhuma métrica chegou ainda, a aba Métricas mostra um placeholder com um ícone de gráfico e uma solicitação para conectar a um servidor usando a aba Descoberta.
Como Usar com o Servidor de Métricas
- No dispositivo que você deseja observar, abra Ferramentas > Servidor de Métricas e toque em Iniciar Servidor.
- No dispositivo executando o Cliente de Métricas, abra Ferramentas > Cliente de Métricas.
- Na aba Descoberta, encontre o servidor e toque em Conectar.
- O cliente muda automaticamente para a aba Métricas para exibir as leituras ao vivo.
Permissões
- Permissão de Bluetooth — necessária para escaneamento e conexão BLE. Se a permissão for negada, habilite o acesso ao Bluetooth para o Lirum nos Ajustes do iOS.
- A permissão de Bluetooth é tratada automaticamente pelo CoreBluetooth. O prompt do sistema aparece na primeira vez que a ferramenta é inicializada.
Detalhes técnicos
- O cliente atua como um Central BLE usando
CBCentralManager. Ele escaneia todos os periféricos próximos e filtra a lista para mostrar apenas aqueles que anunciam o UUID do serviço do Servidor de Métricas. - Ao conectar, o cliente descobre o serviço GATT do Servidor de Métricas e se inscreve nas características de notificação de resumo e por núcleo.
- As métricas chegam como payloads binários aproximadamente uma vez por segundo. O cliente decodifica:
- Resumo: nome do servidor, modelo do dispositivo, nome do dispositivo, uso geral de CPU (Float), contagem de núcleos (UInt16), timestamp (UInt64 milissegundos).
- Por núcleo: contagem de núcleos, array de uso por núcleo (Float por núcleo), timestamp (UInt64 milissegundos).
- O cliente suporta formatos de payload v1 (legado) e v2 (atual) para compatibilidade retroativa com versões mais antigas do Servidor de Métricas. O v2 adiciona modelo do dispositivo, nome do servidor como campos separados e timestamps com precisão de milissegundos.
- O RSSI do servidor conectado é consultado a cada 2 segundos via
readRSSI(). Um histórico de RSSI de até 120 amostras é mantido para o gráfico de sinal. - Suavização de sinal — na lista de descoberta, os valores de RSSI são suavizados exponencialmente (alpha = 0,15) para reduzir a oscilação visual nas barras de sinal.
- Estabilização de nome — os nomes de exibição do servidor na lista de descoberta têm um atraso de 1,5 segundos para evitar oscilação quando os nomes de anúncio BLE mudam rapidamente.
- Período de tolerância de desaparecimento — servidores que desaparecem dos anúncios BLE são retidos na lista por 3 segundos antes de serem removidos, evitando que a lista oscile.
- A restauração de estado do CoreBluetooth está habilitada, permitindo que o cliente recupere uma conexão existente se o app for relançado pelo sistema.
- O histórico de métricas é limitado a 100 entradas, correspondendo a aproximadamente 100 segundos de dados no intervalo de atualização padrão de 1 segundo.
Notas e limitações
- Esta ferramenta usa Bluetooth LE, não rede Wi-Fi. Ambos os dispositivos devem estar dentro do alcance BLE.
- Apenas uma conexão de servidor é suportada por vez.
- O RSSI é um indicador aproximado da intensidade do sinal e pode flutuar devido a fatores ambientais.
- O fluxo de métricas inclui uso de CPU, uso por núcleo, contagem de núcleos e identidade do dispositivo. Outras métricas do dispositivo (memória, armazenamento, térmicas) não são transmitidas atualmente.
- No visionOS, o Cliente de Métricas não está disponível porque o papel de central BLE não é suportado nessa plataforma.