Pular para o conteúdo principal

Cliente de Métricas

Descubra Servidores de Métricas próximos e visualize métricas do dispositivo em tempo real transmitidas via Bluetooth LE.

Aba Descoberta: escaneando Servidores de Métricas próximos com status e controles de atualização.
Quando nenhum servidor é encontrado, uma lista de verificação ajuda na solução de problemas.
Aba Descoberta com indicador de escaneamento e lista de servidores disponíveis.

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

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 RSSIQualidadeBarras
    >= -50 dBmExcelente5
    -51 a -65 dBmBom4
    -66 a -75 dBmRegular3
    -76 a -85 dBmRuim2
    Abaixo de -85 dBmMuito Ruim1
  • 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:

    CampoDescrição
    Nome do ServidorO nome configurado no Servidor de Métricas (ex.: "iPhone 16 Pro Max (iPhone17,2)").
    Modelo do DispositivoO nome comercial do dispositivo servidor (ex.: "iPhone 16 Pro Max").
    DispositivoO 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:

CampoDescrição
Uso de CPUA porcentagem atual de uso geral de CPU do dispositivo servidor (ex.: 30,0%), exibida como um número grande.
Contagem de NúcleosO número de núcleos de CPU no dispositivo servidor (ex.: 6).
Última AtualizaçãoO 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

  1. No dispositivo que você deseja observar, abra Ferramentas > Servidor de Métricas e toque em Iniciar Servidor.
  2. No dispositivo executando o Cliente de Métricas, abra Ferramentas > Cliente de Métricas.
  3. Na aba Descoberta, encontre o servidor e toque em Conectar.
  4. 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.