Slow Actions

Nick Gauthier ([email protected])

Description

Reads a rails app’s log file for slow actions

Installation

You will need to have Gemcutter in your list of gem sources.

gem install slow-actions

Usage

Command line

slow-actions (--actions | --controllers | --sessions) log_file [log_file ...]
  You may also specify:
    --min-cost=FLOAT
    --min-avg=FLOAT
    --min-max=FLOAT
    --start-date=YYYY-MM-DD
    --end-date=YYYY-MM-DD

Ruby Code

require 'rubygems'
require 'slow_actions'
@sa = SlowActions.new
@sa.parse_file(file_path)
puts @sa.print_actions

Sample output:

$> slow-actions --actions --min-cost=2 test/data/development.log
           Cost    Average Max
- UsersController : game_history (22 entries, 0% Error)
  Total:   11275.447 3642.437 12728.0 
  Render:  7.20300 2.32700 17.2450 
  DB:      10.5020 3.39200 10.0000 

- QuestionsController : refresh_index_table (89 entries, 0% Error)
  Total:   908.494 202.348 307.000 
  Render:  0.00000 0.00000 0.00000 
  DB:      32.5880 7.25800 10.0000 

- UsersController : show (128 entries, 0% Error)
  Total:   664.292 136.888 2680.00 
  Render:  0.33500 0.06900 3.41000 
  DB:      18.2330 3.75700 114.000 

$> slow-actions --controllers --min-cost=2 test/data/development.log > ~/Desktop/sa-controllers.txt
             Cost    Average Max
+ UsersController (236 entries, 0% Error)
| Total:     2165.375 396.279 12728.0 
| Render:    1.63400 0.29900 17.2450 
| DB:        7.03400 1.28700 114.000 
|-+ game_history (22 entries, 0% Error)
| | Total:   11275.447 3642.437 12728.0 
| | Render:  7.20300 2.32700 17.2450 
| | DB:      10.5020 3.39200 10.0000 
|-+ show (128 entries, 0% Error)
| | Total:   664.292 136.888 2680.00 
| | Render:  0.33500 0.06900 3.41000 
| | DB:      18.2330 3.75700 114.000 
|-+ index (812 entries, 51% Error)
| | Total:   465.660 69.5050 1922.00 
| | Render:  0.30100 0.04500 2.39600 
| | DB:      40.9320 6.10900 1164.00 

$> slow-actions --sessions --min-cost=2 test/data/development.log > ~/Desktop/sa-sessions.txt
           Cost    Average Max
+ d2dac54dc3816195ed9ef083e2811c61 (89 entries, 60% Error)
| Total:   10923.296 2432.935 12603.0 
| Render:  0.00000 0.00000 0.00000 
| DB:      51.9520 11.5710 53.0000 

+ 3283ca1f8b1039f8c4403cbc7f9941c9 (18 entries, 5% Error)
| Total:   2179.158 752.494 12728.0 
| Render:  9.70500 3.35100 17.2450 
| DB:      2.93100 1.01200 10.0000 

+ 867bc340e6d65e673f29c57189feaf2b (133 entries, 0% Error)
| Total:   1083.138 221.450 386.000 
| Render:  0.00000 0.00000 0.00000 
| DB:      44.2030 9.03700 90.0000