DEV Community

Cover image for O que aprendi sobre Monitoramento de Aplicações Front-End nos últimos meses.
Pedro Soares
Pedro Soares

Posted on • Edited on

2

O que aprendi sobre Monitoramento de Aplicações Front-End nos últimos meses.

Acredito que todo Programador Front-End já se deparou com algum bug reportado pelo cliente e teve dificuldades para tentar reproduzir.

  • O usuário não conseguiu baixar uma planilha.
  • A tela de detalhes de pedido ficou em branco.
  • O botão de adicionar ao carrinho não funcionou como deveria.
  • O carregamento da página está muito lento.

Bugs e issues são coisas comuns no dia a dia de qualquer Engenheiro de Software e identificar e diagnosticar esses problemas rapidamente, ou até mesmo antes de um ticket ser aberto é algo crucial.

O monitoramento da performance e da saúde da aplicação junto com o uso de ferramentas de logs facilitam muito no diagnóstico de issues de performance, erros e outros problemas que impactam a experiência do usuário. Pensando nisso, vou deixar algumas dicas e boas práticas baseadas na minha experiência e no Livro BUILDING LARGE SCALES WEB APPS.

Use uma solução centralizada de Logs

Usar uma ferramenta centralizada de logs ajuda a coletar e armazenar logs de várias partes da sua aplicação. Isso vai facilitar a pesquisa e a análise dos logs, o que é essencial para as depurações e monitoramento da sua aplicação. Existem várias ferramentas populares hoje no mercado, incluindo o Splunk, Datadog e Sentry. Usarei o Datadog para alguns exemplos a seguir.

Faça o upload dos Source Maps

De forma resumida, aplicações modernas feitas em Angular, Next ou qualquer outra ferramenta moderna passam por um processo de build, que serve basicamente para transformar o código que você desenvolveu utilizando uma dessas Frameworks para um código que o browser consegue interpretar, além de outros processos como minificação de arquivos, otimização de assets e agrupamento (Bundling) da aplicação. Durante o processo de build, também é possível gerar os Sources Maps, que são arquivos que mapeiam o código fonte original para o código transpilado, minificado ou agrupado que está sendo executado no navegador. É possível fazer o upload dos sources maps para ferramentas de monitoramento com o intuito de desofuscar diferentes stack traces em erros. Para qualquer tipo de erro, você pode acessar o caminho do arquivo, o número da linha e o snippet do código onde o erro aconteceu.

Inclua contextos nos seus logs

Suponha que você esteja monitorando um SaaS. que é dividido entre várias organizações e quer encontrar um log para uma determinada organização. Se nos seus logs não foram incluídos nenhuma informação relacionada a organização, você vai provavelmente tentar aplicar filtros de horários para tentar encontrar o problema mais rapidamente, porém esse processo pode ainda continuar sendo bastante custoso. Contextos servem para incluir mais informações nos seus logs, como por exemplo o ID da organização, ID do usuário, versão da aplicação, entre outras informações que sejam relevantes para o seu contexto. Isso vai ajudar a encontrar a raiz do problema muito mais rápido, pois vai ser possível filtrar os logs pelos atributos que foram adicionados no contexto. Apenas tenha em mente considerações de privacidade e segurança nas informações contidas no contexto

Por último, monitore seus logs

Monitorar seus logs em tempo real podem ajudar a encontrar problemas rapidamente antes que eles tenham um impacto significativo na experiência do usuário. Isso inclui também a criação de alertas para comportamentos não esperados no uso da sua aplicação e análise da performance da aplicação quando uma nova release for feita.

SurveyJS custom survey software

Build Your Own Forms without Manual Coding

SurveyJS UI libraries let you build a JSON-based form management system that integrates with any backend, giving you full control over your data with no user limits. Includes support for custom question types, skip logic, an integrated CSS editor, PDF export, real-time analytics, and more.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay