This is a simple command line tool to analyze request log files in various formats to produce a performance report. Its purpose is to find what actions are best candidates for optimization.
Analyzes log files. Currently supports: Amazon S3, Apache, Delayed::Job, Merb, Mysql, PostgreSQL, Rack, Rails and more.
Combines multiple files and decompresses compressed files, which comes in handy if you are using logrotate.
Uses several metrics, including cumulative request time, mean request time, process blockers, database and rendering time, HTTP methods and statuses, Rails action cache statistics, etc.) (Sample output: github.com/wvanbergen/request-log-analyzer/wiki/sample-output)
Runs on any MRI 1.9+ compatible Ruby, has a low memory footprint and is reasonably fast, so it is safe to run on a production server.
See the project wiki at github.com/wvanbergen/request-log-analyzer/wiki for documentation and additional information.
Installation & basic usage
Install request-log-analyzer as a Ruby gem (you might need to run this command as root by prepending sudo to it):
$ gem install request-log-analyzer
To analyze a Rails log file and produce a performance report, run request-log-analyzer like this:
$ request-log-analyzer log/production.log
For more details, other file formats, and available command line options, see the project's wiki at github.com/wvanbergen/request-log-analyzer/wiki
Request-log-analyzer was designed and built by Willem van Bergen and Bart ten Brinke.
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 (firstname.lastname@example.org) or Bart ten Brinke (email@example.com).