time_bandits 0.11.0 → 0.12.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.
- checksums.yaml +4 -4
- data/.travis.yml +16 -4
- data/Appraisals +2 -16
- data/README.md +11 -6
- data/Rakefile +1 -0
- data/docker-compose.yml +4 -4
- data/gemfiles/{activesupport_5.0.4.gemfile → activesupport_5.2.4.3.gemfile} +2 -2
- data/gemfiles/{activesupport_5.2.3.gemfile.lock → activesupport_5.2.4.3.gemfile.lock} +29 -31
- data/gemfiles/{activesupport_4.2.9.gemfile → activesupport_6.0.3.2.gemfile} +2 -2
- data/gemfiles/{activesupport_5.1.7.gemfile.lock → activesupport_6.0.3.2.gemfile.lock} +31 -33
- data/lib/time_bandits.rb +2 -6
- data/lib/time_bandits/monkey_patches/action_controller.rb +1 -66
- data/lib/time_bandits/monkey_patches/active_record.rb +18 -116
- data/lib/time_bandits/rack/logger.rb +46 -19
- data/lib/time_bandits/railtie.rb +2 -6
- data/lib/time_bandits/time_consumers/dalli.rb +0 -12
- data/lib/time_bandits/time_consumers/garbage_collection.rb +5 -29
- data/lib/time_bandits/version.rb +1 -1
- data/test/test_helper.rb +2 -10
- data/test/unit/gc_consumer_test.rb +2 -3
- data/test/unit/sequel_test.rb +5 -1
- data/time_bandits.gemspec +6 -3
- metadata +20 -46
- data/gemfiles/activesupport_4.1.16.gemfile +0 -8
- data/gemfiles/activesupport_4.1.16.gemfile.lock +0 -91
- data/gemfiles/activesupport_4.2.8.gemfile +0 -8
- data/gemfiles/activesupport_4.2.8.gemfile.lock +0 -85
- data/gemfiles/activesupport_4.2.9.gemfile.lock +0 -85
- data/gemfiles/activesupport_5.0.3.gemfile +0 -8
- data/gemfiles/activesupport_5.0.3.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.0.4.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.0.7.2.gemfile +0 -8
- data/gemfiles/activesupport_5.0.7.2.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.0.7.gemfile +0 -8
- data/gemfiles/activesupport_5.0.7.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.1.1.gemfile +0 -8
- data/gemfiles/activesupport_5.1.1.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.1.2.gemfile +0 -8
- data/gemfiles/activesupport_5.1.2.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.1.5.gemfile +0 -8
- data/gemfiles/activesupport_5.1.5.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.1.7.gemfile +0 -8
- data/gemfiles/activesupport_5.2.0.gemfile +0 -8
- data/gemfiles/activesupport_5.2.0.gemfile.lock +0 -83
- data/gemfiles/activesupport_5.2.3.gemfile +0 -8
- data/gemfiles/activesupport_6.0.0.gemfile +0 -8
- data/gemfiles/activesupport_6.0.0.gemfile.lock +0 -83
- data/lib/time_bandits/monkey_patches/active_support_cache_store.rb +0 -18
- data/lib/time_bandits/rack/logger40.rb +0 -94
- data/rails/init.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ac35c38f3393a0ff15bd629eaa862ab6f80b8c23dd199bd7ab0a21081ed7adc
|
4
|
+
data.tar.gz: 640caa883d9975cd47a662c0995b97fba05de0795e374ab4719f4c50cc3e773a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14059e1e2903f23e6b61340688a1d6942a00c062d6088bb23c1f04b89e355860aa34b66d5e4a7926986e4f947e37a8bad72cf9ff0f149d9f86d8a68fa9fd05fd
|
7
|
+
data.tar.gz: cad90ceabc0220576aae6c8ffe83a3ec2c06f346e980e0c20d962267090dac1b03e36fcc8517e757104d9baf849b5cedc9bab5c7ffbabab2a064ffc7775eabc3
|
data/.travis.yml
CHANGED
@@ -1,11 +1,23 @@
|
|
1
|
+
dist: bionic
|
1
2
|
language: ruby
|
2
3
|
rvm:
|
3
|
-
- 2.
|
4
|
-
- 2.
|
5
|
-
- 2.
|
4
|
+
- 2.5.7
|
5
|
+
- 2.6.5
|
6
|
+
- 2.7.0
|
7
|
+
before_install:
|
8
|
+
- gem install bundler
|
6
9
|
script: "bundle exec rake appraisal:test"
|
7
|
-
sudo: false
|
8
10
|
services:
|
9
11
|
- redis-server
|
10
12
|
- memcached
|
11
13
|
- rabbitmq
|
14
|
+
- mysql
|
15
|
+
addons:
|
16
|
+
apt:
|
17
|
+
sources:
|
18
|
+
- sourceline: "deb https://packages.erlang-solutions.com/ubuntu bionic contrib"
|
19
|
+
key_url: "https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc"
|
20
|
+
- sourceline: "deb https://dl.bintray.com/rabbitmq/debian bionic main"
|
21
|
+
key_url: "https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc"
|
22
|
+
packages:
|
23
|
+
- rabbitmq-server
|
data/Appraisals
CHANGED
@@ -1,21 +1,7 @@
|
|
1
1
|
[
|
2
|
-
"4.
|
3
|
-
"
|
4
|
-
"4.2.9",
|
5
|
-
"4.2.11.1",
|
6
|
-
"5.0.3",
|
7
|
-
"5.0.4",
|
8
|
-
"5.0.7",
|
9
|
-
"5.0.7.2",
|
10
|
-
"5.1.1",
|
11
|
-
"5.1.2",
|
12
|
-
"5.1.5",
|
13
|
-
"5.1.7",
|
14
|
-
"5.2.0",
|
15
|
-
"5.2.3",
|
16
|
-
"6.0.0"
|
2
|
+
"5.2.4.3",
|
3
|
+
"6.0.3.2"
|
17
4
|
].each do |rails_version|
|
18
|
-
next if RUBY_VERSION >= "2.4.0" && rails_version < "4.2.8"
|
19
5
|
appraise "activesupport-#{rails_version}" do
|
20
6
|
gem "activesupport", rails_version
|
21
7
|
gem "activerecord", rails_version
|
data/README.md
CHANGED
@@ -53,16 +53,16 @@ With these two new time consumers, the log line changes to
|
|
53
53
|
b: number of bytes allocated by the ruby x_malloc call (#bytes)
|
54
54
|
l: live data set size after last GC (#slots)
|
55
55
|
|
56
|
-
|
56
|
+
Side note for speakers of German: you can use the word "Gesabbel" (eng: drivel) as a mnemonic here ;-)
|
57
57
|
|
58
|
-
It's
|
58
|
+
It's relatively straightforward to write additional time consumers; the more difficult part of this is
|
59
59
|
monkey patching the code which you want to instrument. Have a look at consumers under
|
60
|
-
lib/time_bandits/time_consumers and the corresponding patches under lib/time_bandits/monkey_patches
|
60
|
+
`lib/time_bandits/time_consumers` and the corresponding patches under `lib/time_bandits/monkey_patches`.
|
61
61
|
|
62
62
|
|
63
63
|
## Prerequisites
|
64
64
|
|
65
|
-
Rails >=
|
65
|
+
ActiveSupport/Rails >= 5.2 is required. The gem will raise an error if you try to use it with an incompatible
|
66
66
|
version.
|
67
67
|
|
68
68
|
You'll need a ruby with the railsexpress GC patches applied, if you want to include GC and heap size
|
@@ -80,10 +80,15 @@ changed so much of the code that is is practically a full rewrite, hence we chan
|
|
80
80
|
|
81
81
|
## Running Tests
|
82
82
|
|
83
|
-
|
83
|
+
Run `docker-compose up` to start Redis, MySQL, RabbitMQ and Memached containers, then run `rake`.
|
84
|
+
|
84
85
|
|
85
86
|
## Release Notes
|
86
87
|
|
88
|
+
## Version 0.12.0
|
89
|
+
- drops support for Rails versions before 5.2.0 and Ruby versions before 2.2.0
|
90
|
+
- makes it possible to use individual time bandits without Rails (e.g. in a Sinatra app)
|
91
|
+
|
87
92
|
## Version 0.11.0
|
88
93
|
- supports rails 6.0.0
|
89
94
|
|
@@ -178,7 +183,7 @@ In order for the test to run you need a running memcached, redis-server and mysq
|
|
178
183
|
|
179
184
|
## License
|
180
185
|
|
181
|
-
Copyright (c) 2009-
|
186
|
+
Copyright (c) 2009-2020 Stefan Kaes <skaes@railsexpress.de>
|
182
187
|
|
183
188
|
Permission is hereby granted, free of charge, to any person obtaining
|
184
189
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
data/docker-compose.yml
CHANGED
@@ -3,7 +3,7 @@ version: '2'
|
|
3
3
|
services:
|
4
4
|
mysql:
|
5
5
|
container_name: mysql
|
6
|
-
image: mysql:5.
|
6
|
+
image: mysql:5.7
|
7
7
|
ports:
|
8
8
|
- "3601:3306"
|
9
9
|
environment:
|
@@ -11,18 +11,18 @@ services:
|
|
11
11
|
|
12
12
|
memcached:
|
13
13
|
container_name: memcached
|
14
|
-
image: memcached:1.
|
14
|
+
image: memcached:1.6.6
|
15
15
|
ports:
|
16
16
|
- "11211:11211"
|
17
17
|
|
18
18
|
redis:
|
19
19
|
container_name: redis
|
20
|
-
image: redis:
|
20
|
+
image: redis:5.0.9
|
21
21
|
ports:
|
22
22
|
- "6379:6379"
|
23
23
|
|
24
24
|
rabbitmq:
|
25
25
|
container_name: rabbitmq
|
26
|
-
image: rabbitmq:3.
|
26
|
+
image: rabbitmq:3.8.5
|
27
27
|
ports:
|
28
28
|
- "5672:5672"
|
@@ -1,83 +1,81 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
time_bandits (0.
|
5
|
-
activesupport (>= 2.3
|
4
|
+
time_bandits (0.11.0)
|
5
|
+
activesupport (>= 5.2.4.3)
|
6
6
|
thread_variables
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activemodel (5.2.3)
|
12
|
-
activesupport (= 5.2.3)
|
13
|
-
activerecord (5.2.3)
|
14
|
-
activemodel (= 5.2.3)
|
15
|
-
activesupport (= 5.2.3)
|
11
|
+
activemodel (5.2.4.3)
|
12
|
+
activesupport (= 5.2.4.3)
|
13
|
+
activerecord (5.2.4.3)
|
14
|
+
activemodel (= 5.2.4.3)
|
15
|
+
activesupport (= 5.2.4.3)
|
16
16
|
arel (>= 9.0)
|
17
|
-
activesupport (5.2.3)
|
17
|
+
activesupport (5.2.4.3)
|
18
18
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
19
|
i18n (>= 0.7, < 2)
|
20
20
|
minitest (~> 5.1)
|
21
21
|
tzinfo (~> 1.1)
|
22
|
-
amq-protocol (2.3.
|
22
|
+
amq-protocol (2.3.1)
|
23
23
|
amqp (1.8.0)
|
24
24
|
amq-protocol (>= 2.2.0)
|
25
25
|
eventmachine
|
26
26
|
ansi (1.5.0)
|
27
|
-
appraisal (2.
|
27
|
+
appraisal (2.3.0)
|
28
28
|
bundler
|
29
29
|
rake
|
30
30
|
thor (>= 0.14.0)
|
31
31
|
arel (9.0.0)
|
32
|
-
beetle (3.
|
32
|
+
beetle (3.4.1)
|
33
33
|
activesupport (>= 2.3.4)
|
34
|
-
amq-protocol (= 2.3.
|
34
|
+
amq-protocol (= 2.3.1)
|
35
35
|
amqp (= 1.8.0)
|
36
36
|
bunny (~> 0.7.12)
|
37
37
|
hiredis (>= 0.4.5)
|
38
|
-
redis (>=
|
38
|
+
redis (>= 4.2.1)
|
39
39
|
bunny (0.7.12)
|
40
|
-
byebug (11.
|
41
|
-
concurrent-ruby (1.1.
|
40
|
+
byebug (11.1.3)
|
41
|
+
concurrent-ruby (1.1.6)
|
42
42
|
dalli (2.7.10)
|
43
43
|
eventmachine (1.2.7)
|
44
44
|
hiredis (0.6.3)
|
45
|
-
i18n (1.
|
45
|
+
i18n (1.8.3)
|
46
46
|
concurrent-ruby (~> 1.0)
|
47
47
|
memcached (1.8.0)
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
sequel (5.23.0)
|
56
|
-
thor (0.20.3)
|
48
|
+
minitest (5.14.1)
|
49
|
+
mocha (1.11.2)
|
50
|
+
mysql2 (0.5.3)
|
51
|
+
rake (13.0.1)
|
52
|
+
redis (4.2.1)
|
53
|
+
sequel (5.33.0)
|
54
|
+
thor (1.0.1)
|
57
55
|
thread_safe (0.3.6)
|
58
56
|
thread_variables (0.2.0)
|
59
|
-
tzinfo (1.2.
|
57
|
+
tzinfo (1.2.7)
|
60
58
|
thread_safe (~> 0.1)
|
61
59
|
|
62
60
|
PLATFORMS
|
63
61
|
ruby
|
64
62
|
|
65
63
|
DEPENDENCIES
|
66
|
-
activerecord (= 5.2.3)
|
67
|
-
activesupport (= 5.2.3)
|
64
|
+
activerecord (= 5.2.4.3)
|
65
|
+
activesupport (= 5.2.4.3)
|
68
66
|
ansi
|
69
67
|
appraisal
|
70
|
-
beetle (>=
|
68
|
+
beetle (>= 3.4.1)
|
71
69
|
byebug
|
72
70
|
dalli
|
73
71
|
memcached (~> 1.8.0)
|
74
72
|
minitest (~> 5.5)
|
75
73
|
mocha
|
76
74
|
mysql2
|
77
|
-
rake
|
75
|
+
rake
|
78
76
|
redis
|
79
77
|
sequel
|
80
78
|
time_bandits!
|
81
79
|
|
82
80
|
BUNDLED WITH
|
83
|
-
1.
|
81
|
+
2.1.4
|
@@ -1,83 +1,81 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
time_bandits (0.
|
5
|
-
activesupport (>= 2.3
|
4
|
+
time_bandits (0.11.0)
|
5
|
+
activesupport (>= 5.2.4.3)
|
6
6
|
thread_variables
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activemodel (
|
12
|
-
activesupport (=
|
13
|
-
activerecord (
|
14
|
-
activemodel (=
|
15
|
-
activesupport (=
|
16
|
-
|
17
|
-
activesupport (5.1.7)
|
11
|
+
activemodel (6.0.3.2)
|
12
|
+
activesupport (= 6.0.3.2)
|
13
|
+
activerecord (6.0.3.2)
|
14
|
+
activemodel (= 6.0.3.2)
|
15
|
+
activesupport (= 6.0.3.2)
|
16
|
+
activesupport (6.0.3.2)
|
18
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
18
|
i18n (>= 0.7, < 2)
|
20
19
|
minitest (~> 5.1)
|
21
20
|
tzinfo (~> 1.1)
|
22
|
-
|
21
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
22
|
+
amq-protocol (2.3.1)
|
23
23
|
amqp (1.8.0)
|
24
24
|
amq-protocol (>= 2.2.0)
|
25
25
|
eventmachine
|
26
26
|
ansi (1.5.0)
|
27
|
-
appraisal (2.
|
27
|
+
appraisal (2.3.0)
|
28
28
|
bundler
|
29
29
|
rake
|
30
30
|
thor (>= 0.14.0)
|
31
|
-
|
32
|
-
beetle (3.3.1)
|
31
|
+
beetle (3.4.1)
|
33
32
|
activesupport (>= 2.3.4)
|
34
|
-
amq-protocol (= 2.3.
|
33
|
+
amq-protocol (= 2.3.1)
|
35
34
|
amqp (= 1.8.0)
|
36
35
|
bunny (~> 0.7.12)
|
37
36
|
hiredis (>= 0.4.5)
|
38
|
-
redis (>=
|
37
|
+
redis (>= 4.2.1)
|
39
38
|
bunny (0.7.12)
|
40
|
-
byebug (11.
|
41
|
-
concurrent-ruby (1.1.
|
39
|
+
byebug (11.1.3)
|
40
|
+
concurrent-ruby (1.1.6)
|
42
41
|
dalli (2.7.10)
|
43
42
|
eventmachine (1.2.7)
|
44
43
|
hiredis (0.6.3)
|
45
|
-
i18n (1.
|
44
|
+
i18n (1.8.3)
|
46
45
|
concurrent-ruby (~> 1.0)
|
47
46
|
memcached (1.8.0)
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
sequel (5.23.0)
|
56
|
-
thor (0.20.3)
|
47
|
+
minitest (5.14.1)
|
48
|
+
mocha (1.11.2)
|
49
|
+
mysql2 (0.5.3)
|
50
|
+
rake (13.0.1)
|
51
|
+
redis (4.2.1)
|
52
|
+
sequel (5.33.0)
|
53
|
+
thor (1.0.1)
|
57
54
|
thread_safe (0.3.6)
|
58
55
|
thread_variables (0.2.0)
|
59
|
-
tzinfo (1.2.
|
56
|
+
tzinfo (1.2.7)
|
60
57
|
thread_safe (~> 0.1)
|
58
|
+
zeitwerk (2.3.0)
|
61
59
|
|
62
60
|
PLATFORMS
|
63
61
|
ruby
|
64
62
|
|
65
63
|
DEPENDENCIES
|
66
|
-
activerecord (=
|
67
|
-
activesupport (=
|
64
|
+
activerecord (= 6.0.3.2)
|
65
|
+
activesupport (= 6.0.3.2)
|
68
66
|
ansi
|
69
67
|
appraisal
|
70
|
-
beetle (>=
|
68
|
+
beetle (>= 3.4.1)
|
71
69
|
byebug
|
72
70
|
dalli
|
73
71
|
memcached (~> 1.8.0)
|
74
72
|
minitest (~> 5.5)
|
75
73
|
mocha
|
76
74
|
mysql2
|
77
|
-
rake
|
75
|
+
rake
|
78
76
|
redis
|
79
77
|
sequel
|
80
78
|
time_bandits!
|
81
79
|
|
82
80
|
BUNDLED WITH
|
83
|
-
1.
|
81
|
+
2.1.4
|
data/lib/time_bandits.rb
CHANGED
@@ -5,11 +5,7 @@ require 'thread_variables'
|
|
5
5
|
module TimeBandits
|
6
6
|
|
7
7
|
module TimeConsumers
|
8
|
-
|
9
|
-
autoload :Database, 'time_bandits/time_consumers/database_rails2'
|
10
|
-
else
|
11
|
-
autoload :Database, 'time_bandits/time_consumers/database'
|
12
|
-
end
|
8
|
+
autoload :Database, 'time_bandits/time_consumers/database'
|
13
9
|
autoload :GarbageCollection, 'time_bandits/time_consumers/garbage_collection'
|
14
10
|
autoload :JMX, 'time_bandits/time_consumers/jmx'
|
15
11
|
autoload :MemCache, 'time_bandits/time_consumers/mem_cache'
|
@@ -20,7 +16,7 @@ module TimeBandits
|
|
20
16
|
autoload :Beetle, 'time_bandits/time_consumers/beetle'
|
21
17
|
end
|
22
18
|
|
23
|
-
require 'time_bandits/railtie' if defined?(Rails)
|
19
|
+
require 'time_bandits/railtie' if defined?(Rails)
|
24
20
|
require 'time_bandits/time_consumers/base_consumer'
|
25
21
|
|
26
22
|
mattr_accessor :time_bandits
|
@@ -4,45 +4,6 @@ module ActionController #:nodoc:
|
|
4
4
|
|
5
5
|
module Instrumentation
|
6
6
|
|
7
|
-
# patch to ensure that the completed line is always written to the log.
|
8
|
-
# this is not necessary anymore with Rails 4 and higher.
|
9
|
-
def process_action(action, *args)
|
10
|
-
raw_payload = get_raw_payload
|
11
|
-
ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload.dup)
|
12
|
-
|
13
|
-
exception = nil
|
14
|
-
result = ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
|
15
|
-
begin
|
16
|
-
super
|
17
|
-
rescue Exception => exception
|
18
|
-
response.status = 500
|
19
|
-
nil
|
20
|
-
ensure
|
21
|
-
payload[:status] = response.status
|
22
|
-
append_info_to_payload(payload)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
raise exception if exception
|
26
|
-
result
|
27
|
-
end unless Rails::VERSION::STRING >= "4.0"
|
28
|
-
|
29
|
-
# patch to ensure that render times are always recorded in the log.
|
30
|
-
# this is not necessary anymore with Rails 3 and up.
|
31
|
-
def render(*args)
|
32
|
-
render_output = nil
|
33
|
-
exception = nil
|
34
|
-
self.view_runtime = cleanup_view_runtime do
|
35
|
-
Benchmark.ms do
|
36
|
-
begin
|
37
|
-
render_output = super
|
38
|
-
rescue Exception => exception
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
raise exception if exception
|
43
|
-
render_output
|
44
|
-
end unless Rails::VERSION::STRING >= "3.0"
|
45
|
-
|
46
7
|
def cleanup_view_runtime #:nodoc:
|
47
8
|
consumed_before_rendering = TimeBandits.consumed
|
48
9
|
runtime = yield
|
@@ -52,32 +13,6 @@ module ActionController #:nodoc:
|
|
52
13
|
|
53
14
|
private
|
54
15
|
|
55
|
-
if Rails::VERSION::STRING =~ /\A3\.[01]/
|
56
|
-
def get_raw_payload
|
57
|
-
{
|
58
|
-
:controller => self.class.name,
|
59
|
-
:action => self.action_name,
|
60
|
-
:params => request.filtered_parameters,
|
61
|
-
:formats => request.formats.map(&:to_sym),
|
62
|
-
:method => request.method,
|
63
|
-
:path => (request.fullpath rescue "unknown")
|
64
|
-
}
|
65
|
-
end
|
66
|
-
elsif Rails::VERSION::STRING =~ /\A3\.2/
|
67
|
-
def get_raw_payload
|
68
|
-
{
|
69
|
-
:controller => self.class.name,
|
70
|
-
:action => self.action_name,
|
71
|
-
:params => request.filtered_parameters,
|
72
|
-
:format => request.format.try(:ref),
|
73
|
-
:method => request.method,
|
74
|
-
:path => (request.fullpath rescue "unknown")
|
75
|
-
}
|
76
|
-
end
|
77
|
-
elsif Rails::VERSION::STRING < "3"
|
78
|
-
raise "time_bandits ActionController monkey patch is not compatible with your Rails version"
|
79
|
-
end
|
80
|
-
|
81
16
|
module ClassMethods
|
82
17
|
# patch to log rendering time with more precision
|
83
18
|
def log_process_action(payload) #:nodoc:
|
@@ -104,7 +39,7 @@ module ActionController #:nodoc:
|
|
104
39
|
|
105
40
|
# this is an ugly hack to ensure completed lines show up in the test logs
|
106
41
|
# TODO: move this code to some other place
|
107
|
-
return unless Rails.env.test?
|
42
|
+
return unless Rails.env.test?
|
108
43
|
|
109
44
|
status = payload[:status]
|
110
45
|
if status.nil? && payload[:exception].present?
|