InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Extended Rails Exception Monitoring with Exceptional and Hoptoad

Posted by Sebastien Auvray on Sep 11, 2008

Sections
Development,
Enterprise Architecture
Topics
SaaS ,
Ruby on Rails ,
Ruby
Tags
Rails Plugins ,
Rails ,
Exception Handling
Exception monitoring is always critical to handle. Rails plugin ExceptionNotifier made this task easier by providing a mailer object and a default set of templates for sending email notifications when errors occur in a Rails application. Two companies (Exceptional and Hoptoad) help with this by providing a third party service which intercepts exceptions and displays them in a web interface. Notification by Mail or SMS is also an option.

We talked to Eoghan McCabe from Contrast (Exceptional) and Matt Jankowski from Hoptoad.

The idea from those two consultancies is born from maintenance experience on internal and external Rails applications:
Hoptoad - We've been using the service on various internal and client applications that we maintain over the last six months, and have watched with pride as our tadpole of an error catching web service has matured into the crazy toad that it's become.

Eoghan explains Expceptional:
Exceptional - When we build apps for clients we obsessively monitor things like performance, traffic and exceptions. We had been using the Exception Notifier and Logged_Exceptions plugins and these were extremely helpful. But we wanted to expand on these to help their use fit better into our workflow. We wanted to control the flood of e-mails, get notified in different ways, collaborate on the investigation of exceptions and generally get a grip on the state of exceptions over all the apps we manage.

Exceptional and Hoptoad both launched recently (Exceptional still being in beta). Since then the services are improved with new features.
Since its official launch, Hoptoad has caught more than 300000 exceptions for external applications.

On the technical side, Eoghan lists the Rails plugins Exceptional uses:
  • UltraSphinx – for it's awesomely reliable search indexing
  • WillPaginate – every Rails project needs this plugin
  • hubahuba – tasty set of extensions for basic classes
  • rspec
Matt lists what Hoptoad is uses:
  • A Raw Rails app (if we run into scale issues, we'd conceivably separate the "error catcher" from the rest of the application, and/or add servers)
  • Homegrown testing tools (shoulda + factory girl) during development
  • subdomain_fu plugin from Intridea, and DHH's openid plugin
  • Firstly HAML for entire application
  • Setup hosting by EngineYard
Once installed (in Exceptional or Hoptoad), your exceptions will be intercepted and reported by Exceptional interface where you can set preferences such as Email Notification or SMS number (available in Exceptional only). The exception will then be tracked with details on how it occurs and its status can be changed to resolved, closed or ignored.

Exceptional
Hoptoad

Both asked about their killer feature over their mutual competitor, the two services appeared to be slightly similar.

Eoghan explains some of the features Exceptional seems to have over Hoptoad:
The features exclusive to Exceptional that these users have highlighted as important to them include comments, integration with Lighthouse, integration with Campfire, SMS notifications and so on. We also handle 404 based exceptions and have plans to provide an elegant interface to manage them. Hoptoad ignore 404 based exceptions in their plugin, like Exception Notifier.
Exceptional is also concentrating on Rails application while Hoptoad is not framework-specific:

We're concentrating solely on Rails so we can adapt our interface specifically to help Rails developers with their unique problems.

Both services are free.

How do you handle exceptions or exception notification in Web applications?

No comments

Watch Thread Reply

Educational Content

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?