Observabilidade no frontend: o HTTP 200 esconde ~900 catch vazios
Abri o checkout e o BFF de pagamento devolveu HTTP 200. No botão, TypeError. Seller e comprador falhavam sem stack, sem release, sem rota. Infra já tinha métrica. O navegador, onde o dinheiro vive, era ponto cego. Eu contei da ordem de ~900 catch vazios ou logs que engoliam a exceção. Quatro fronts. Sem dono. Se eu ligasse o SDK no default do wizard, ia queimar quota e ainda assim não ter golden…
A observabilidade no frontend pode ser complicada, como demonstrado por ~900 catch vazios ou logs que engoliam exceções. Mesmo com HTTP 200, o problema pode persistir. Métricas API podem não revelar erros no usuário, mas a telemetria sim. O navegador é um ponto cego, e a garantia de que o SDK esteja configurado corretamente é crucial.
Recusou-se a usar APM, captureException todo, e um sampling de 1.0, afetando custo e ruído. O dashboard pode mentir com números grandes, mas a premissa é usar o golden path com quatro sinais: Latency, Traffic, Errors, e Saturation. O SDK precisa ter tag de domínio, release, e source map. Recusou-se a usar session replay constante e big bang nos quatro fronts.
O SDK é responsabilidade do time, com release, domain e flow claramente etetados. Alerta apenas para domain:checkout flow:pay. O princípio de não assumir nada até ter release e domain é fundamental. A observabilidade deve além de métricas, além de painéis.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.