Ferramenta para monitoramento do frontend
Objetivo
- Saber antecipadamente quando algo de errado no front-end, por exemplo uma exceção for lançada.
- Permitir ao usuário logado que reporte erros e sugestões, capturando prints, breadcrumbs, logs, e metadados do usuário logado.
- Permitir a um usuário não logado que reporte erros e sugestões, se identificando primeiro.
- Por fim, menos prioritário, mas também importante, monitorar pontos de melhoria de performance, e métricas de uso (páginas acessadas, tempo de uso, ...)
Ferramentas
Monitoramento de erros
- Sentry
- LogRocket
- Rollbar
- AppSignal
- Raygun
- Airbrake
- Firebase
Todos essas ferramentas tem a mesma proposta de monitorar erros que quebram o app, entregando o stack trace do erro, e possibilitando injetar alguns metadados para identificar melhor a sessão do usuário atual. Alguns tem funcionalidades a mais, como o firebase, que automaticamente agrupa os erros para facilitar na priorização.
Alguns também permitem o disparo de eventos programaticamente, não sendo necessário que a aplicação de fato quebre. E permitem também lidar com erros que não da aplicação, como por exemplo de conexão.
O logRocket entrega também todo o network para facilitar no debug do erro.
Alguns integram com ferramentas específicas de estados como por exemplo o redux, para facilitar na replicação do erro. Também podem funcionar com o mobile, monitorando alguns outros tipos de erros, como por exemplo acesso a memória, e outros recursos de sistema.
De modo geral todos atual na mesma frente de obter ativamente erros, sem que o usuário precise reportá-los, é focado principalmente em bugs que quebram a aplicação. Porém não identifiquei em nenhum a possibilidade do usuário realizar diretamente o reporte.
Reporte por usuários
Ferramentas como: - zendesk; - milvus;
são focadas em helpdesk, isso é suporte com chat ou abertura de tickets. Entretanto normalmente não entregam logs de erros e dados de sessão do usuário, nem facilitam a captura de screenshots e stack trace.
Ferramentas como: - ybug; - usersnap;
são focadas em colher feedbacks do usuários, podem integrar com algum helpdesk, ou até mesmo ter um sistema de chat/ticket embutido. Permitem capturar dados de sessão, screenshots e outros.
O ybug é mais simples, e possui um plano gratuito para teste, enquanto o usernap é mais completo e o plano basic que é o mais barato custa 9 Euros.
Ao meu ver a principal diferença entre usar uma ferramenta de helpdesk e uma ferramenta de reporte de bugs, é que o helpdesk precisa de um time atento a isso, para fechar rapidamente tickets (é o que se espera de um helpdesk suporte rápido). Já as ferramentas de feedbacks espera-se um tempo de resposta maior, e não é igual ao sistema de ticket que se tem acompanhamento da demanda, até porquê o que foi reportado por vários usuários pode ser o mesmo problema, e trazem dados necessários para resolver o problema de forma assíncrona, evitando ter de entrar em contato com o usuário.
Para mim, o ideal seria ter ambas as ferramentes para o usuário reportar algum problema, porém isso eleva consideravelmente o preço gasto em ferramentas, e pessoal. Tendo isso em mente acredito que uma ferramenta de feedback é mais prioritário e tem mais a agregar, uma vez que é mais barato e requer menos pessoal, podendo resolver o mesmo problema que o helpdesk resolveria, entretanto com um intervalo de resposta maior.
Referencias
- https://geekflare.com/frontend-web-monitoring/