/request-log-analyzer

A command line tool that analyzes request logfiles (e.g. Rails, Merb) to produce a performance report.

Primary LanguageRubyMIT LicenseMIT

Request-log-analyzer

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.

Installation

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.

Usage

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

Additional information

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).