time_bandits 0.2.2 → 0.3.0
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.
- data/lib/time_bandits/monkey_patches/action_controller.rb +3 -1
- data/lib/time_bandits/monkey_patches/active_record.rb +6 -4
- data/lib/time_bandits/rack/logger.rb +2 -2
- data/lib/time_bandits/time_consumers/database.rb +3 -2
- data/lib/time_bandits/version.rb +1 -1
- data/lib/time_bandits.rb +2 -1
- data/time_bandits.gemspec +1 -0
- metadata +22 -10
@@ -92,8 +92,10 @@ module ActionController #:nodoc:
|
|
92
92
|
def process_action(event)
|
93
93
|
payload = event.payload
|
94
94
|
additions = ActionController::Base.log_process_action(payload)
|
95
|
-
Thread.current
|
95
|
+
Thread.current.thread_variable_set(
|
96
|
+
:time_bandits_completed_info,
|
96
97
|
[ event.duration, additions, payload[:view_runtime], "#{payload[:controller]}##{payload[:action]}" ]
|
98
|
+
)
|
97
99
|
end
|
98
100
|
end
|
99
101
|
|
@@ -12,19 +12,21 @@ module ActiveRecord
|
|
12
12
|
class LogSubscriber
|
13
13
|
|
14
14
|
def self.call_count=(value)
|
15
|
-
Thread.current
|
15
|
+
Thread.current.thread_variable_set(:active_record_sql_call_count, value)
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.call_count
|
19
|
-
Thread.current
|
19
|
+
Thread.current.thread_variable_get(:active_record_sql_call_count) ||
|
20
|
+
Thread.current.thread_variable_set(:active_record_sql_call_count, 0)
|
20
21
|
end
|
21
22
|
|
22
23
|
def self.query_cache_hits=(value)
|
23
|
-
Thread.current
|
24
|
+
Thread.current.thread_variable_set(:active_record_sql_query_cache_hits, value)
|
24
25
|
end
|
25
26
|
|
26
27
|
def self.query_cache_hits
|
27
|
-
Thread.current
|
28
|
+
Thread.current.thread_variable_get(:active_record_sql_query_cache_hits) ||
|
29
|
+
Thread.current.thread_variable_set(:active_record_sql_query_cache_hits, 0)
|
28
30
|
end
|
29
31
|
|
30
32
|
def self.reset_call_count
|
@@ -18,7 +18,7 @@ module TimeBandits
|
|
18
18
|
protected
|
19
19
|
def before_dispatch(env, start_time)
|
20
20
|
TimeBandits.reset
|
21
|
-
Thread.current
|
21
|
+
Thread.current.thread_variable_set(:time_bandits_completed_info, nil)
|
22
22
|
|
23
23
|
request = ActionDispatch::Request.new(env)
|
24
24
|
path = request.filtered_path
|
@@ -28,7 +28,7 @@ module TimeBandits
|
|
28
28
|
|
29
29
|
def after_dispatch(env, result, run_time)
|
30
30
|
status = result ? result.first : 500
|
31
|
-
duration, additions, view_time, action = Thread.current
|
31
|
+
duration, additions, view_time, action = Thread.current.thread_variable_get(:time_bandits_completed_info)
|
32
32
|
|
33
33
|
message = "Completed #{status} #{::Rack::Utils::HTTP_STATUS_CODES[status]} in %.1fms" % (run_time*1000)
|
34
34
|
message << " (#{additions.join(' | ')})" unless additions.blank?
|
@@ -12,11 +12,12 @@ module TimeBandits
|
|
12
12
|
extend self
|
13
13
|
|
14
14
|
def info
|
15
|
-
Thread.current
|
15
|
+
Thread.current.thread_variable_get(:time_bandits_database_info) ||
|
16
|
+
Thread.current.thread_variable_set(:time_bandits_database_info, [0.0, 0, 0])
|
16
17
|
end
|
17
18
|
|
18
19
|
def info=(info)
|
19
|
-
Thread.current
|
20
|
+
Thread.current.thread_variable_set(:time_bandits_database_info, info)
|
20
21
|
end
|
21
22
|
|
22
23
|
def reset
|
data/lib/time_bandits/version.rb
CHANGED
data/lib/time_bandits.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'active_support/core_ext'
|
2
|
+
require 'thread_variables'
|
2
3
|
|
3
4
|
module TimeBandits
|
4
5
|
|
@@ -49,7 +50,7 @@ module TimeBandits
|
|
49
50
|
begin
|
50
51
|
result = yield
|
51
52
|
rescue Exception => e
|
52
|
-
logger.error "Exception: #{e}:\n#{e.backtrace[0..5].join("\n")}"
|
53
|
+
logger.error "Exception: #{e.class}(#{e.message}):\n#{e.backtrace[0..5].join("\n")}"
|
53
54
|
end
|
54
55
|
end
|
55
56
|
consumed # needs to be called for DB time consumer
|
data/time_bandits.gemspec
CHANGED
metadata
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
name: time_bandits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
hash: 19
|
5
|
-
prerelease:
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Stefan Kaes
|
@@ -15,13 +15,26 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
19
|
-
default_executable:
|
18
|
+
date: 2012-11-02 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
21
|
+
name: thread_variables
|
23
22
|
prerelease: false
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: activesupport
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
25
38
|
none: false
|
26
39
|
requirements:
|
27
40
|
- - ">="
|
@@ -33,7 +46,7 @@ dependencies:
|
|
33
46
|
- 2
|
34
47
|
version: 2.3.2
|
35
48
|
type: :runtime
|
36
|
-
version_requirements: *
|
49
|
+
version_requirements: *id002
|
37
50
|
description: Rails Completed Line on Steroids
|
38
51
|
email:
|
39
52
|
- skaes@railsexpress.de
|
@@ -69,7 +82,6 @@ files:
|
|
69
82
|
- lib/time_bandits/version.rb
|
70
83
|
- rails/init.rb
|
71
84
|
- time_bandits.gemspec
|
72
|
-
has_rdoc: true
|
73
85
|
homepage: https://github.com/skaes/time_bandits/
|
74
86
|
licenses: []
|
75
87
|
|
@@ -99,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
111
|
requirements: []
|
100
112
|
|
101
113
|
rubyforge_project:
|
102
|
-
rubygems_version: 1.
|
114
|
+
rubygems_version: 1.8.24
|
103
115
|
signing_key:
|
104
116
|
specification_version: 3
|
105
117
|
summary: Custom performance logging for Rails
|