In-depth Rails Monitoring using only a production log file
September 22, 2009
No Rails plugins to install. No performance hit during the request cycle. Nothing to break your application code. Nothing to restart. With just the path to your production Rails log file, Scout's new Rails monitoring alerts you when your Ruby on Rails application is slowing down and provides detailed daily performance reports.
First, an open-source shoutout: thanks to Willem van Bergen and Bart ten Brinke (the Rails Doctors) for their Request Log Analyzer gem, which we built upon for this functionality.
Rails analysis made easy
- Easy setup. All we need is a path to the log file of your production Rails application. That’s it. There’s nothing to configure in your Rails application. Unlike our previous Rails analyzer, you don’t have to install a Rails plugin or even redeploy your Rails application. There are zero changes to your Rails code base.
- In-depth analysis. Get rendering time and database time on a per-action basis. Know your error code rates, HTTP request types, cache hit ratios, and more.
- No performance impact. Since the analysis happens out the request-response cycle, there is no performance impact on your running Rails app.
- Alerts. Like all Scout plugins, you can get alerts based on the flat data the plugin produces. Get alerts on requests/minute, number of slow requests, and average request length.
How it works
The plugin performs a combination of incremental and batch processing on your application’s logfile. Every time the Scout agent runs (3min-30min, depending on your Scout plan, it parses new entries in your log file since the last time it ran. This provides key metrics for near-realtime graphs and alerts.
Once a day, the Analyzer runs to crunch the numbers for more in-depth metrics. This is what provides the breakdowns among all your actions, analysis of most popular actions, most expensive actions, etc.
Try it out!
Install the Rails Analysis plugin. If you don’t already have a Scout account, all of our accounts have a 30 day free trial.