slowgrowl 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/slowgrowl.rb +48 -38
  3. data/slowgrowl.gemspec +1 -1
  4. metadata +6 -3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -9,6 +9,7 @@ module SlowGrowl
9
9
  config.slowgrowl = ActiveSupport::OrderedOptions.new
10
10
  config.slowgrowl.warn = 1000 # default slow alert set to 1000ms
11
11
  config.slowgrowl.sticky = false # should error warnings be sticky?
12
+ config.slowgrowl.debug = false # print debug information
12
13
 
13
14
  initializer "slowgrowl.initialize" do |app|
14
15
  ActiveSupport::Notifications.subscribe do |*args|
@@ -28,51 +29,60 @@ module SlowGrowl
28
29
  :error
29
30
  end
30
31
 
31
- e = event.payload
32
- message = case type
33
- when 'action_controller' then
34
- case action
35
- when 'process_action' then
36
- # {:controller=>"WidgetsController", :action=>"index", :params=>{"controller"=>"widgets", "action"=>"index"},
37
- # :formats=>[:html], :method=>"GET", :path=>"/widgets", :status=>200, :view_runtime=>52.25706100463867,
38
- # :db_runtime=>0}
32
+ begin
33
+ e = event.payload
34
+ message = case type
35
+ when 'action_controller' then
36
+ case action
37
+ when 'process_action' then
38
+ # {:controller=>"WidgetsController", :action=>"index", :params=>{"controller"=>"widgets", "action"=>"index"},
39
+ # :formats=>[:html], :method=>"GET", :path=>"/widgets", :status=>200, :view_runtime=>52.25706100463867,
40
+ # :db_runtime=>0}
39
41
 
40
- if e[:exception]
41
- "%s#%s.\n\n%s" % [
42
- e[:controller], e[:action], e[:exception].join(', ')
43
- ]
44
- else
45
- "%s#%s (%s).\nDB: %.1f, View: %.1f" % [
46
- e[:controller], e[:action], e[:status], e[:db_runtime], e[:view_runtime]
47
- ]
48
- end
42
+ if e[:exception]
43
+ "%s#%s.\n\n%s" % [
44
+ e[:controller], e[:action], e[:exception].join(', ')
45
+ ]
46
+ else
47
+ "%s#%s (%s).\nDB: %.1f, View: %.1f" % [
48
+ e[:controller], e[:action], e[:status], e[:db_runtime], e[:view_runtime]
49
+ ]
50
+ end
49
51
 
50
- else
51
- '%s#%s (%s)' % [e[:controller], e[:action], e[:status]]
52
- end
52
+ else
53
+ '%s#%s (%s)' % [e[:controller], e[:action], e[:status]]
54
+ end
53
55
 
54
- when 'action_view' then
55
- # {:identifier=>"text template", :layout=>nil }
56
- '%s, layout: %s' % [e[:identifier], e[:layout].nil? ? 'none' : e[:layout]]
56
+ when 'action_view' then
57
+ # {:identifier=>"text template", :layout=>nil }
58
+ '%s, layout: %s' % [e[:identifier], e[:layout].nil? ? 'none' : e[:layout]]
57
59
 
58
- when 'active_record' then
59
- # {:sql=>"SELECT "widgets".* FROM "widgets", :name=>"Widget Load", :connection_id=>2159415800}
60
- "%s\n\n%s" % [e[:name], e[:sql].gsub("\n", ' ').squeeze(' ')]
61
- else
62
- 'Duration: %.1f' % [event.duration]
63
- end
60
+ when 'active_record' then
61
+ # {:sql=>"SELECT "widgets".* FROM "widgets", :name=>"Widget Load", :connection_id=>2159415800}
62
+ "%s\n\n%s" % [e[:name], e[:sql].gsub("\n", ' ').squeeze(' ')]
63
+ else
64
+ 'Duration: %.1f' % [event.duration] if event.respond_to? :duration
65
+ end
64
66
 
65
- if alert
66
- title = "%1.fms - %s : %s" % [event.duration, action.humanize, type.camelize]
67
+ if alert
68
+ title = "%1.fms - %s : %s" % [event.duration, action.humanize, type.camelize]
67
69
 
68
- case NOTIFIER
69
- when :growl
70
- if Growl.installed?
71
- Growl.send("notify_#{alert}", message, {:title => title, :sticky => sticky})
72
- end
70
+ case NOTIFIER
71
+ when :growl
72
+ if Growl.installed?
73
+ Growl.send("notify_#{alert}", message, {:title => title, :sticky => sticky})
74
+ end
73
75
 
74
- when :libnotify
75
- Notify::Notification.new(title, message, nil, nil).show
76
+ when :libnotify
77
+ Notify::Notification.new(title, message, nil, nil).show
78
+ end
79
+ end
80
+ rescue Exception => e
81
+ if config.slowgrowl.debug
82
+ puts e
83
+ puts event.inspect
84
+ puts e.backtrace.join("\n")
85
+ puts "-- If you're seeing this, you should probably open a ticket on github :-)"
76
86
  end
77
87
  end
78
88
 
@@ -2,7 +2,7 @@ require 'lib/platform'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{slowgrowl}
5
- s.version = "0.1.1"
5
+ s.version = "0.1.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Ilya Grigorik", "Milan Dobrota"]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ilya Grigorik
@@ -22,6 +22,7 @@ dependencies:
22
22
  name: growl
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
@@ -57,6 +58,7 @@ rdoc_options:
57
58
  require_paths:
58
59
  - lib
59
60
  required_ruby_version: !ruby/object:Gem::Requirement
61
+ none: false
60
62
  requirements:
61
63
  - - ">="
62
64
  - !ruby/object:Gem::Version
@@ -64,6 +66,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
66
  - 0
65
67
  version: "0"
66
68
  required_rubygems_version: !ruby/object:Gem::Requirement
69
+ none: false
67
70
  requirements:
68
71
  - - ">="
69
72
  - !ruby/object:Gem::Version
@@ -73,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
76
  requirements: []
74
77
 
75
78
  rubyforge_project: slowgrowl
76
- rubygems_version: 1.3.6
79
+ rubygems_version: 1.3.7
77
80
  signing_key:
78
81
  specification_version: 3
79
82
  summary: Surface slow code paths in your Rails 3 app via Growl / libnotify