GBR: ADR-0009 Coleta Nível-SO (OS Metrics) com Isolamento C-Native (`os_mon`) | Wiki
Documentação de engenharia e especificações técnicas da Gleam-BR.
GBR: ADR-0009 Coleta Nível-SO (OS Metrics) com Isolamento C-Native (os_mon)
- *Status:* Proposto / Em Exploração
- *Data:* 2026-05-01
*Contexto:*
A telemetria do falcon_agent é um Híbrido Cérebro/Músculo, operando adequadamente com Erlang Ports conversando com Java para a camada de banco de dados (JDBC). Porém, invocar processos de S.O. como /bin/bash repetidamente ou implementar parsers Regex no Gleam apenas para monitorar consumos genéricos de memória/CPU (/proc/stat em Linux, WMI em Windows) destrói o propósito de eficiência elétrica e baixa pegada (footprint) arquitetado no monorepo.
*Decisão:*
-
**Aplicação Erlang
os_monPura:** Para a telemetria do hospedeiro, o Agente Gleam deve importar a aplicação nativa de OTPos_mon. Ela roda em um thread secundária (C-Level) hiper-otimizada da VM, que fornece estatísticas de uso de processador, discos e memória com carga computacional virtualmente nula. -
*Coletor de Sistema Independente:* A infraestrutura deverá instanciar um novo Ator Gleam (ex:
os_worker.gleam), rodando sob a mesma Árvore de Supervisão dodb_worker, mas operando num Tick independente e convertendo as tuplas doos_monpara o padrão JSON estrito do protocolo/horus/telemetry.
*Consequências:*
-
*Positivas:* Redução monumental do consumo energético em coleta; abstração total da complexidade da plataforma subjacente (o
os_monexpõe uma interface unificada independentemente do hospedeiro operar Linux ou Windows Kernel). -
*Negativas/Riscos:* Se o cliente possuir políticas de hipervisor de segurança (ex: eBPF Cgroups bloqueados/Docker unprivileged), a aplicação nativa de
os_monpoderá requerer permissões estendidas do hospedeiro (como montar os dados de/procexplicitamente) para acesso real às cifras físicas.