A command line tool that analyzes request logfiles (e.g. Rails, Apache, MySQL, Delayed::Job) to produce a performance report.
Switch branches/tags
request-log-analyzer-1.11.1 request-log-analyzer-1.11.0 request-log-analyzer-1.10.1 request-log-analyzer-1.10.0 request-log-analyzer-1.9.10 request-log-analyzer-1.9.9 request-log-analyzer-1.9.8 request-log-analyzer-1.9.7 request-log-analyzer-1.9.6 request-log-analyzer-1.9.5 request-log-analyzer-1.9.4 request-log-analyzer-1.9.3 request-log-analyzer-1.9.2 request-log-analyzer-1.9.1 request-log-analyzer-1.9.0 request-log-analyzer-1.8.1 request-log-analyzer-1.8.0 request-log-analyzer-1.7.0 request-log-analyzer-1.6.4 request-log-analyzer-1.6.3 request-log-analyzer-1.6.2 request-log-analyzer-1.6.1 request-log-analyzer-1.6.0 request-log-analyzer-1.5.4 request-log-analyzer-1.5.3 request-log-analyzer-1.5.2 request-log-analyzer-1.5.1 request-log-analyzer-1.5.0 request-log-analyzer-1.4.2 request-log-analyzer-1.4.1 request-log-analyzer- request-log-analyzer-1.4.0 request-log-analyzer-1.3.7 request-log-analyzer-1.3.6 request-log-analyzer-1.3.5 request-log-analyzer-1.3.4 request-log-analyzer-1.3.2 request-log-analyzer-1.3.1 request-log-analyzer-1.3.0 request-log-analyzer-1.2.9 request-log-analyzer-1.2.7 request-log-analyzer-1.2.6 request-log-analyzer-1.2.5 request-log-analyzer-1.2.4 request-log-analyzer-1.2.3 request-log-analyzer-1.2.1 request-log-analyzer-1.2.0 request-log-analyzer-1.1.7 request-log-analyzer-1.1.6 request-log-analyzer- request-log-analyzer-1.1.5 request-log-analyzer-1.1.4 request-log-analyzer-1.1.3 request-log-analyzer-1.1.2 request-log-analyzer-1.1.1 request-log-analyzer-1.1.0 request-log-analyzer-1.01 request-log-analyzer-1.0.4 request-log-analyzer-1.0.3 request-log-analyzer-1.0.2 request-log-analyzer-1.0.1 request-log-analyzer-1.0.0 request-log-analyzer-0.3.4 request-log-analyzer-0.3.3 request-log-analyzer-0.3.2 request-log-analyzer-0.3.1 request-log-analyzer-0.3.0 request-log-analyzer-0.2.4 request-log-analyzer-0.2.3 request-log-analyzer-0.2.2 request-log-analyzer-0.2.1 request-log-analyzer-0.2.0 request-log-analyzer-0.1.2 request-log-analyzer-0.1.1 request-log-analyzer-0.1.0
Nothing to show
Clone or download
Pull request Compare This branch is 6 commits ahead, 172 commits behind wvanbergen:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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)

  • Low memory footprint and reasonably fast, so it is safe to run on a production server.

  • MIT licensed

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

Benchmarking on different rubies

$ time ./bin/request-log-analyzer 40MBRailsFile.log

ruby-1.9.2-p180   15.19s user 0.95s system 99% cpu 16.143 total
ree-1.8.7-2011.03 22.81s user 1.28s system 92% cpu 25.938 total
ruby-1.8.7-p334   25.21s user 1.02s system 99% cpu 26.238 total
jruby-1.5.3       32.64s user 4.84s system 99% cpu 37.629 total
rbx-2.0.0pre      39.62s user 2.24s system 104% cpu 40.098 total
macruby           75.00s user 20.10s system 110% cpu 1:26.13 total

Additional information

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 (willem@railsdoctors.com) or Bart ten Brinke (bart@railsdoctors.com).