Why do I need a Rails and PHP Error Tracking Service?

Because you're serious about your application and your users experience

Without an error tracking service you just don't know when something in your application goes wrong. Yeah, you can search your logs all the time. But who does that, and more important: Who wants that? When errors occur, you cannot know fast enough about them.

Exceptiontrap will notify you in real-time about the error and in which context it happened. It provides you with the stacktrace plus all the request and environment parameters.

You already know why error tracking is so important? Jump to the sign up page or read about our Rails or PHP integrations.

Automated tests are good, but not enough — you need both

Automated tests protect you from a lot of errors and there is no replacement for them. Automated tests and error tracking are not in competition, they work together. There will always be things you didn't think of before. So your test suite will grow over time through the errors reported.

Additionally, chances are very high that even if you try hard, your development or staging environment is not 100% identical with your production environment. And when we speak of Ruby on Rails and a lot of other Frameworks, you may have noticed that the test environment has some settings which differ from production.

What else can go wrong?

Leaving out all the things or bugs in your code you didn't think of – so you didn't test for. Let's see which error sources we also have:

  • The behaviour of your app under load (deadlocks, threading problems, database query times out, ...)
  • E.g. the behavior of your production database, maybe it just sorts records differently or performs the queries in a different order
  • The external API you are using is down or was changed slightly
  • The memcached / Redis / MongoDB / fill-in-your-service fails occasionally
  • Your mailserver cannot handle the spike or something is wrong with the connection

Some real world exceptions

  • NoMethodError - undefined method 'fetch_data' for #<NotificationWorker:0x007f9d958867d0>
  • Dalli::RingError - No server available
  • ActionView::Template::Error - undefined method 'city_name' for nil:NilClass
  • ActionView::Template::Error - PG::UndefinedColumn: ERROR: column users.full_name does not exist
  • Timeout::Error - execution expired
  • Net::SMTPAuthenticationError - 454 Temporary authentication failure
  • JSON::ParserError - 795: unexpected token at '...'
  • Zend_Controller_Action_Exception - Action "show" does not exist and was not trapped in __call()
  • Doctrine_Connection_Mysql_Exception - SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

The list goes on and on. Even if you just forget to check in a file to your repository or run the migration, you should get immediate feedback instead of wondering after a few hours why there are no sign ups.

Why should you use Exceptiontrap?

Exceptiontrap will help you to

  • Know about errors — in real time
  • Get you all the relevant information
  • Fix these errors and bugs as soon as possible
  • See if the error happened again and how often
  • Communicate about errors with your team

You will know that there are no errors and you feel better

You don't need to search in your logs anymore or temporarily enable error output (never do this). You will know about your errors and you know when there are no errors.

So your application needs an error tracker

Save countless hours of investigation and not knowing about errors. Sign up now.