ngauthier-slow-actions 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION.yml +1 -1
  2. data/bin/slow-actions +22 -6
  3. data/lib/slow_actions.rb +19 -16
  4. metadata +1 -1
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 2
3
- :patch: 3
3
+ :patch: 4
4
4
  :major: 0
data/bin/slow-actions CHANGED
@@ -1,10 +1,26 @@
1
1
  #!/usr/bin/env ruby
2
2
  require File.join(File.dirname(__FILE__), '..', 'lib', 'slow_actions')
3
+
3
4
  @sa = SlowActions.new
4
- @sa.parse_file(ARGV[0])
5
- puts @sa.print_actions
6
- puts ""
7
- puts @sa.print_controller_tree
8
- puts ""
9
- puts @sa.print_sessions
5
+ ARGV.select{|arg| arg[0,2] != "--"}.each do |file|
6
+ @sa.parse_file(file)
7
+ end
8
+
9
+ output = []
10
+ if (ARGV.include? "--actions")
11
+ output << @sa.print_actions
12
+ end
13
+ if (ARGV.include? "--controllers")
14
+ output << @sa.print_controller_tree
15
+ end
16
+ if (ARGV.include? "--sessions")
17
+ output << @sa.print_sessions
18
+ end
19
+
20
+
21
+ if output.size == 0
22
+ puts "Usage: slow-actions (--actions | --controllers | --sessions) log_file"
23
+ else
24
+ puts output.join("\n\n")
25
+ end
10
26
 
data/lib/slow_actions.rb CHANGED
@@ -20,13 +20,13 @@ class SlowActions
20
20
 
21
21
  def print_actions
22
22
  str = ""
23
- str += " Cost Average Max\n"
23
+ str += " Cost Average Max\n"
24
24
  actions.sort{|x,y| y.total_cost <=> x.total_cost}.each do |a|
25
- str += "==#{a.controller.name}:#{a.name}==\n"
25
+ str += "- #{a.controller.name} : #{a.name} (#{a.log_entries.size} entries)\n"
26
26
  str += " Total: #{ftos a.total_cost}#{ftos a.total_avg}#{ftos a.total_max}\n"
27
27
  str += " Render: #{ftos a.render_cost}#{ftos a.render_avg}#{ftos a.render_max}\n"
28
28
  str += " DB: #{ftos a.db_cost}#{ftos a.db_avg}#{ftos a.db_max}\n"
29
-
29
+ str += "\n"
30
30
  end
31
31
  return str
32
32
  end
@@ -35,28 +35,30 @@ class SlowActions
35
35
  str = ""
36
36
  str += " Cost Average Max\n"
37
37
  controllers.sort{|x,y| y.total_cost <=> x.total_cost}.each do |c|
38
- str += "==#{c.name}==\n"
39
- str += " Total: #{ftos c.total_cost}#{ftos c.total_avg}#{ftos c.total_max}\n"
40
- str += " Render: #{ftos c.render_cost}#{ftos c.render_avg}#{ftos c.render_max}\n"
41
- str += " DB: #{ftos c.db_cost}#{ftos c.db_avg}#{ftos c.db_max}\n"
38
+ str += "+ #{c.name} (#{c.log_entries.size} entries)\n"
39
+ str += "| Total: #{ftos c.total_cost}#{ftos c.total_avg}#{ftos c.total_max}\n"
40
+ str += "| Render: #{ftos c.render_cost}#{ftos c.render_avg}#{ftos c.render_max}\n"
41
+ str += "| DB: #{ftos c.db_cost}#{ftos c.db_avg}#{ftos c.db_max}\n"
42
42
  c.actions.sort{|x,y| y.total_cost <=> x.total_cost}.each do |a|
43
- str += " ==#{a.name}==\n"
44
- str += " Total: #{ftos a.total_cost}#{ftos a.total_avg}#{ftos a.total_max}\n"
45
- str += " Render: #{ftos a.render_cost}#{ftos a.render_avg}#{ftos a.render_max}\n"
46
- str += " DB: #{ftos a.db_cost}#{ftos a.db_avg}#{ftos a.db_max}\n"
43
+ str += "|-+ #{a.name} (#{a.log_entries.size} entries)\n"
44
+ str += "| | Total: #{ftos a.total_cost}#{ftos a.total_avg}#{ftos a.total_max}\n"
45
+ str += "| | Render: #{ftos a.render_cost}#{ftos a.render_avg}#{ftos a.render_max}\n"
46
+ str += "| | DB: #{ftos a.db_cost}#{ftos a.db_avg}#{ftos a.db_max}\n"
47
47
  end
48
+ str += "\n"
48
49
  end
49
50
  return str
50
51
  end
51
52
 
52
53
  def print_sessions
53
54
  str = ""
54
- str += " Cost Average Max\n"
55
+ str += " Cost Average Max\n"
55
56
  sessions.sort{|x,y| y.total_cost <=> x.total_cost}.each do |s|
56
- str += "==#{s.name}==\n"
57
- str += " Total: #{ftos s.total_cost}#{ftos s.total_avg}#{ftos s.total_max}\n"
58
- str += " Render: #{ftos s.render_cost}#{ftos s.render_avg}#{ftos s.render_max}\n"
59
- str += " DB: #{ftos s.db_cost}#{ftos s.db_avg}#{ftos s.db_max}\n"
57
+ str += "+ #{s.name} (#{s.log_entries.size} entries)\n"
58
+ str += "| Total: #{ftos s.total_cost}#{ftos s.total_avg}#{ftos s.total_max}\n"
59
+ str += "| Render: #{ftos s.render_cost}#{ftos s.render_avg}#{ftos s.render_max}\n"
60
+ str += "| DB: #{ftos s.db_cost}#{ftos s.db_avg}#{ftos s.db_max}\n"
61
+ str += "\n"
60
62
  end
61
63
  return str
62
64
  end
@@ -106,6 +108,7 @@ class SlowActions
106
108
  @sessions[la.session] = s
107
109
  end
108
110
  s.add_entry(la)
111
+ la.processed = true
109
112
  end
110
113
 
111
114
  # now compute the times for each
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ngauthier-slow-actions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Gauthier