Você consegue prever os bugs de sua aplicação?

em Geral.

Se um problema tem solução não tem porque se preocupar com ele, se ele não tem solução então toda preocupação será em vão.

Já pensou se você tivesse o poder de prever o futuro e impedir que grandes tragédias acontecessem? Tudo bem, prever o futuro é complicado, para não dizer impossível.

Sendo mais realista, imagine se pudesse identificar pequenas frações de um problema antes que ele tome grandes proporções. Imaginou? E se você soubesse que isso já é uma realidade – desde 2008, com o Sentry?

O Sentry é uma aplicação open source escrita em Python para logar erros de aplicações e agregar informações a eles. Apesar de ser escrito em Python o Sentry pode ser usado em PHP, Ruby, Python, Go, Javascript, Elixir, etc.

// Como funciona?

O Sentry funciona como um middleware, ou seja, sempre que o usuário acessa sua aplicação, ele passa pelo Sentry. Caso a aplicação dê um erro não tratado, o Sentry captura o backtrace e envia para seu servidor, registrando o erro. Se o mesmo erro permanecer, o Sentry grava a amostra, identifica quantas vezes ele aconteceu e com quantos usuários diferentes – ele faz isso por meio da comparação do backtrace.

O relatório enviado por ele é bem detalhado, contém informações sobre o ambiente e o servidor em que aconteceu o erro. Além dos dados que o próprio Sentry coleta, você também pode adicionar mais informações ao log para enriquecer e facilitar a reprodução e a correção do bug. Ao receber um novo relatório, uma notificação é enviada para seu e-mail, para que você se mantenha informado quanto ao que está acontecendo em sua aplicação.

// Como usar?

Há duas maneiras de utilizar o Sentry. Uma delas é instalá-lo no servidor que você tem – essa tarefa seria um pouco mais complexa se não houvesse uma imagem oficial do Sentry no Docker Hub. O segundo modo é utilizar a integração com o próprio site do Sentry, criando apenas uma conta e fazendo a integração com sua aplicação. Assim que os erros aparecerem nela, o Sentry passará a logá-los.

Como usar o Sentry

// Por que usar?

Por menor que seja o seu sistema, por mais que você use TDD, BDD e todas as outras boas práticas que conhece, ele está sujeito a falhas. Mesmo no caso do exemplo, em que o banco de dados cai – uma falha que não é necessariamente da aplicação, mas sim, do servidor -, isso é importante justamente para que possa identificar bugs que não vê e que poderiam estar em sua aplicação ou em seu ambiente, afetando seu usuário sem que você saiba.

Se quiser monitorar sua aplicação e saber como anda a saúde dela, uma ótima maneira para monitorar a curto, médio e longo prazo, é utilizando o Sentry. Caso tenha alguma dúvida na interpretação dele, deixe um comentário neste artigo que o ajudaremos! ;)

Você também pode gostar