This is a simple command line tool to analyze request log files of both Rails and Merb to produce a performance report. Its purpose is to find what actions are best candidates for optimization.
-
Analyzes Rails log files (all versions), Merb logs, or any other log format you specify
-
Combines multiple files and decompresses compressed files (handy if you are using logrotate)
-
Uses several metrics, including cumulative request time, average request time, process blockers, database and rendering time, HTTP methods and statuses, Rails action cache statistics, etc.) (Sample output: wiki.github.com/wvanbergen/request-log-analyzer/sample-output)
-
Low memory footprint and reasonably fast (server-safe)
-
MIT licensed
Request log analyzer was designed and built by Willem van Bergen and Bart ten Brinke.
Install request-log-analyzer as a Ruby gem:
$ sudo gem install request-log-analyzer
Alternatively, use the gem from the GitHub gem server:
$ sudo gem install wvanbergen-request-log-analyzer --source http://gems.github.com
To get the best results out of request-log-analyzer, make sure to set up logging correctly: wiki.github.com/wvanbergen/request-log-analyzer/configure-logging for your application.
To analyze a log file and produce a performance report, run request-log-analyzer like this:
$ request-log-analyzer log/production.log
For more details and available command line options, see the project’s wiki: wiki.github.com/wvanbergen/request-log-analyzer/basic-usage
Do you have a rails application that is not performing as it should? If you need an expert to analyze your application, feel free to contact either Willem van Bergen (willem@railsdoctors.com) or Bart ten Brinke (bart@railsdoctors.com).
-
Project wiki at GitHub: wiki.github.com/wvanbergen/request-log-analyzer
-
railsdoctors homepage: railsdoctors.com
-
wvanbergen’s blog posts: techblog.floorplanner.com/tag/request-log-analyzer
-
barttenbrinke’s blog posts: movesonrails.com/articles/tag/analyzer