appsignal 0.12.rc.7 → 0.12.rc.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/ext/agent.yml +7 -7
  3. data/lib/appsignal.rb +3 -15
  4. data/lib/appsignal/hooks.rb +61 -0
  5. data/lib/appsignal/hooks/celluloid.rb +29 -0
  6. data/lib/appsignal/hooks/delayed_job.rb +18 -0
  7. data/lib/appsignal/hooks/net_http.rb +31 -0
  8. data/lib/appsignal/hooks/passenger.rb +21 -0
  9. data/lib/appsignal/hooks/puma.rb +20 -0
  10. data/lib/appsignal/hooks/rake.rb +42 -0
  11. data/lib/appsignal/hooks/redis.rb +24 -0
  12. data/lib/appsignal/hooks/resque.rb +28 -0
  13. data/lib/appsignal/hooks/sequel.rb +38 -0
  14. data/lib/appsignal/hooks/sidekiq.rb +68 -0
  15. data/lib/appsignal/hooks/unicorn.rb +39 -0
  16. data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +27 -29
  17. data/lib/appsignal/integrations/delayed_job_plugin.rb +39 -0
  18. data/lib/appsignal/integrations/railtie.rb +41 -0
  19. data/lib/appsignal/transaction.rb +9 -4
  20. data/lib/appsignal/version.rb +1 -1
  21. data/spec/lib/appsignal/{integrations/capistrano2_spec.rb → capistrano2_spec.rb} +1 -1
  22. data/spec/lib/appsignal/{integrations/capistrano3_spec.rb → capistrano3_spec.rb} +0 -0
  23. data/spec/lib/appsignal/{integrations → hooks}/celluloid_spec.rb +8 -11
  24. data/spec/lib/appsignal/{integrations → hooks}/delayed_job_spec.rb +7 -10
  25. data/spec/lib/appsignal/hooks/net_http_spec.rb +55 -0
  26. data/spec/lib/appsignal/hooks/passenger_spec.rb +24 -0
  27. data/spec/lib/appsignal/hooks/puma_spec.rb +50 -0
  28. data/spec/lib/appsignal/{integrations → hooks}/rake_spec.rb +4 -3
  29. data/spec/lib/appsignal/hooks/redis_spec.rb +59 -0
  30. data/spec/lib/appsignal/{integrations → hooks}/resque_spec.rb +5 -11
  31. data/spec/lib/appsignal/{instrumentations → hooks}/sequel_spec.rb +1 -3
  32. data/spec/lib/appsignal/{integrations → hooks}/sidekiq_spec.rb +20 -20
  33. data/spec/lib/appsignal/hooks/unicorn_spec.rb +46 -0
  34. data/spec/lib/appsignal/hooks_spec.rb +76 -0
  35. data/spec/lib/appsignal/integrations/{rails_spec.rb → railtie_spec.rb} +0 -0
  36. data/spec/lib/appsignal/transaction_spec.rb +3 -3
  37. data/spec/lib/appsignal_spec.rb +0 -33
  38. metadata +46 -42
  39. data/lib/appsignal/instrumentations/net_http.rb +0 -17
  40. data/lib/appsignal/instrumentations/redis.rb +0 -13
  41. data/lib/appsignal/instrumentations/sequel.rb +0 -31
  42. data/lib/appsignal/integrations/celluloid.rb +0 -19
  43. data/lib/appsignal/integrations/delayed_job.rb +0 -44
  44. data/lib/appsignal/integrations/passenger.rb +0 -11
  45. data/lib/appsignal/integrations/puma.rb +0 -10
  46. data/lib/appsignal/integrations/rails.rb +0 -43
  47. data/lib/appsignal/integrations/rake.rb +0 -30
  48. data/lib/appsignal/integrations/resque.rb +0 -22
  49. data/lib/appsignal/integrations/sidekiq.rb +0 -62
  50. data/lib/appsignal/integrations/unicorn.rb +0 -28
  51. data/spec/lib/appsignal/instrumentations/net_http_spec.rb +0 -40
  52. data/spec/lib/appsignal/instrumentations/redis_spec.rb +0 -45
  53. data/spec/lib/appsignal/integrations/passenger_spec.rb +0 -22
  54. data/spec/lib/appsignal/integrations/puma_spec.rb +0 -52
  55. data/spec/lib/appsignal/integrations/unicorn_spec.rb +0 -48
@@ -1,17 +1,18 @@
1
1
  require 'spec_helper'
2
2
  require 'rake'
3
3
 
4
- describe "Rake integration" do
5
- let(:file) { File.expand_path('lib/appsignal/integrations/rake.rb') }
4
+ describe Appsignal::Hooks::RakeHook do
6
5
  let(:app) { double(:current_scope => nil) }
7
6
  let(:task) { Rake::Task.new('task', app) }
8
7
  before do
9
- load file
10
8
  task.stub(
11
9
  :name => 'task:name',
12
10
  :invoke_without_appsignal => true
13
11
  )
14
12
  end
13
+ before :all do
14
+ Appsignal::Hooks::RakeHook.new.install
15
+ end
15
16
 
16
17
  describe "#invoke" do
17
18
  before { Appsignal.stub(:active? => true) }
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Appsignal::Hooks::RedisHook do
4
+ before :all do
5
+ Appsignal.config = project_fixture_config
6
+ end
7
+
8
+ context "with redis" do
9
+ context "with redis" do
10
+ before :all do
11
+ module Redis
12
+ class Client
13
+ def process(commands, &block)
14
+ 1
15
+ end
16
+ end
17
+ VERSION = '1.0'
18
+ end
19
+ end
20
+
21
+ context "and redis instrumentation enabled" do
22
+ let(:events) { [] }
23
+ before :all do
24
+ Appsignal.config.config_hash[:instrument_redis] = true
25
+ Appsignal::Hooks::RedisHook.new.install
26
+ end
27
+ before do
28
+ ActiveSupport::Notifications.subscribe(/^[^!]/) do |*args|
29
+ events << ActiveSupport::Notifications::Event.new(*args)
30
+ end
31
+ end
32
+ after(:all) { Object.send(:remove_const, :Redis) }
33
+
34
+ its(:dependencies_present?) { should be_true }
35
+
36
+ it "should generate an event for a redis call" do
37
+ client = Redis::Client.new
38
+
39
+ client.process([]).should == 1
40
+
41
+ event = events.last
42
+ event.name.should == 'query.redis'
43
+ end
44
+ end
45
+ end
46
+
47
+ context "and redis instrumentation disabled" do
48
+ before :all do
49
+ Appsignal.config.config_hash[:instrument_net_http] = false
50
+ end
51
+
52
+ its(:dependencies_present?) { should be_false }
53
+ end
54
+ end
55
+
56
+ context "without redis" do
57
+ its(:dependencies_present?) { should be_false }
58
+ end
59
+ end
@@ -1,12 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Resque integration" do
4
- let(:file) { File.expand_path('lib/appsignal/integrations/resque.rb') }
5
-
3
+ describe Appsignal::Hooks::ResqueHook do
6
4
  context "with resque" do
7
- before do
5
+ before :all do
8
6
  module Resque
9
-
10
7
  def self.before_first_fork
11
8
  end
12
9
 
@@ -19,10 +16,10 @@ describe "Resque integration" do
19
16
  class TestError < StandardError
20
17
  end
21
18
  end
22
-
23
- load file
19
+ Appsignal::Hooks::ResqueHook.new.install
24
20
  start_agent
25
21
  end
22
+ after(:all) { Object.send(:remove_const, :Resque) }
26
23
 
27
24
  describe :around_perform_resque_plugin do
28
25
  let(:transaction) { background_job_transaction }
@@ -70,9 +67,6 @@ describe "Resque integration" do
70
67
  end
71
68
 
72
69
  context "without resque" do
73
- before(:all) { Object.send(:remove_const, :Resque) }
74
-
75
- specify { expect { ::Resque }.to raise_error(NameError) }
76
- specify { expect { load file }.to_not raise_error }
70
+ its(:dependencies_present?) { should be_false }
77
71
  end
78
72
  end
@@ -1,11 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Sequel integration", if: sequel_present? do
4
- let(:file) { File.expand_path('lib/appsignal/integrations/sequel.rb') }
5
- let(:db) { Sequel.sqlite }
4
+ let(:db) { Sequel.sqlite }
6
5
 
7
6
  before do
8
- load file
9
7
  start_agent
10
8
  end
11
9
 
@@ -1,18 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Sidekiq integration" do
4
- let(:file) { File.expand_path('lib/appsignal/integrations/sidekiq.rb') }
5
- before :all do
6
- module Sidekiq
7
- def self.configure_server
8
- end
9
- end
10
- end
11
- before do
12
- load file
13
- start_agent
14
- end
15
-
3
+ describe Appsignal::Hooks::SidekiqPlugin do
16
4
  let(:worker) { double }
17
5
  let(:queue) { double }
18
6
  let(:current_transaction) { background_job_transaction }
@@ -24,11 +12,12 @@ describe "Sidekiq integration" do
24
12
  'args' => ['Model', 1],
25
13
  'extra' => 'data'
26
14
  }}
27
- let(:plugin) { Appsignal::Integrations::SidekiqPlugin.new }
15
+ let(:plugin) { Appsignal::Hooks::SidekiqPlugin.new }
28
16
 
29
17
  before do
30
18
  Appsignal.stub(:is_ignored_exception? => false)
31
19
  Appsignal::Transaction.stub(:current => current_transaction)
20
+ start_agent
32
21
  end
33
22
 
34
23
  context "with a performance call" do
@@ -66,7 +55,7 @@ describe "Sidekiq integration" do
66
55
 
67
56
  after do
68
57
  Timecop.freeze(Time.parse('01-01-2001 10:01:00UTC')) do
69
- Appsignal::Integrations::SidekiqPlugin.new.call(worker, item, queue) do
58
+ Appsignal::Hooks::SidekiqPlugin.new.call(worker, item, queue) do
70
59
  # nothing
71
60
  end
72
61
  end
@@ -82,7 +71,7 @@ describe "Sidekiq integration" do
82
71
  after do
83
72
  begin
84
73
  Timecop.freeze(Time.parse('01-01-2001 10:01:00UTC')) do
85
- Appsignal::Integrations::SidekiqPlugin.new.call(worker, item, queue) do
74
+ Appsignal::Hooks::SidekiqPlugin.new.call(worker, item, queue) do
86
75
  raise error
87
76
  end
88
77
  end
@@ -149,13 +138,24 @@ describe "Sidekiq integration" do
149
138
  plugin.string_or_inspect(object).should == object.inspect
150
139
  end
151
140
  end
141
+ end
142
+ end
152
143
 
144
+ describe Appsignal::Hooks::SidekiqHook do
145
+ context "with sidekiq" do
146
+ before :all do
147
+ module Sidekiq
148
+ def self.configure_server
149
+ end
150
+ end
151
+ Appsignal::Hooks::SidekiqHook.new.install
152
+ end
153
+ after(:all) { Object.send(:remove_const, :Sidekiq) }
154
+
155
+ its(:dependencies_present?) { should be_true }
153
156
  end
154
157
 
155
158
  context "without sidekiq" do
156
- before(:all) { Object.send(:remove_const, :Sidekiq) }
157
-
158
- specify { expect { Sidekiq }.to raise_error(NameError) }
159
- specify { expect { load file }.to_not raise_error }
159
+ its(:dependencies_present?) { should be_false }
160
160
  end
161
161
  end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe Appsignal::Hooks::UnicornHook do
4
+ context "with unicorn" do
5
+ before :all do
6
+ module Unicorn
7
+ class HttpServer
8
+ def worker_loop(worker)
9
+ end
10
+ end
11
+
12
+ class Worker
13
+ def close
14
+ end
15
+ end
16
+ end
17
+ Appsignal::Hooks::UnicornHook.new.install
18
+ end
19
+ after(:all) { Object.send(:remove_const, :Unicorn) }
20
+
21
+ its(:dependencies_present?) { should be_true }
22
+
23
+ it "adds behavior to Unicorn::HttpServer#worker_loop" do
24
+ server = Unicorn::HttpServer.new
25
+ worker = double
26
+
27
+ Appsignal.should_receive(:forked)
28
+ server.should_receive(:worker_loop_without_appsignal).with(worker)
29
+
30
+ server.worker_loop(worker)
31
+ end
32
+
33
+ it "adds behavior to Unicorn::Worker#close" do
34
+ worker = Unicorn::Worker.new
35
+
36
+ Appsignal.should_receive(:stop)
37
+ worker.should_receive(:close_without_appsignal)
38
+
39
+ worker.close
40
+ end
41
+ end
42
+
43
+ context "without unicorn" do
44
+ its(:dependencies_present?) { should be_false }
45
+ end
46
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ class MockPresentHook < Appsignal::Hooks::Hook
4
+ def dependencies_present?
5
+ true
6
+ end
7
+
8
+ def install
9
+ MockPresentHook.call_something
10
+ end
11
+
12
+ def self.call_something
13
+ end
14
+ end
15
+
16
+ class MockNotPresentHook < Appsignal::Hooks::Hook
17
+ def dependencies_present?
18
+ false
19
+ end
20
+
21
+ def install
22
+ MockNotPresentHook.call_something
23
+ end
24
+ end
25
+
26
+ class MockErrorHook < Appsignal::Hooks::Hook
27
+ def dependencies_present?
28
+ true
29
+ end
30
+
31
+ def install
32
+ raise 'error'
33
+ end
34
+ end
35
+
36
+ describe Appsignal::Hooks do
37
+ it "should register and install a hook once" do
38
+ Appsignal::Hooks::Hook.register(:mock_present_hook, MockPresentHook)
39
+
40
+ Appsignal::Hooks.hooks[:mock_present_hook].should be_instance_of(MockPresentHook)
41
+ Appsignal::Hooks.hooks[:mock_present_hook].installed?.should be_false
42
+
43
+ MockPresentHook.should_receive(:call_something).once
44
+
45
+ Appsignal::Hooks.load_hooks
46
+ Appsignal::Hooks.load_hooks
47
+ Appsignal::Hooks.load_hooks
48
+ Appsignal::Hooks.hooks[:mock_present_hook].installed?.should be_true
49
+ end
50
+
51
+ it "should not install if depencies are not present" do
52
+ Appsignal::Hooks::Hook.register(:mock_not_present_hook, MockNotPresentHook)
53
+
54
+ Appsignal::Hooks.hooks[:mock_not_present_hook].should be_instance_of(MockNotPresentHook)
55
+ Appsignal::Hooks.hooks[:mock_not_present_hook].installed?.should be_false
56
+
57
+ MockPresentHook.should_not_receive(:call_something)
58
+
59
+ Appsignal::Hooks.load_hooks
60
+
61
+ Appsignal::Hooks.hooks[:mock_not_present_hook].installed?.should be_false
62
+ end
63
+
64
+ it "should not install if there is an error while installing" do
65
+ Appsignal::Hooks::Hook.register(:mock_error_hook, MockErrorHook)
66
+
67
+ Appsignal::Hooks.hooks[:mock_error_hook].should be_instance_of(MockErrorHook)
68
+ Appsignal::Hooks.hooks[:mock_error_hook].installed?.should be_false
69
+
70
+ Appsignal.logger.should_receive(:error).with("Error while installing mock_error_hook hook: error").once
71
+
72
+ Appsignal::Hooks.load_hooks
73
+
74
+ Appsignal::Hooks.hooks[:mock_error_hook].installed?.should be_false
75
+ end
76
+ end
@@ -375,7 +375,7 @@ describe Appsignal::Transaction do
375
375
  context "with the HTTP_X_REQUEST_START header set" do
376
376
  let(:env) { {'HTTP_X_REQUEST_START' => "t=#{slightly_earlier_time_value}"} }
377
377
 
378
- it { should == 1389783599 }
378
+ it { should == 1389783599600 }
379
379
 
380
380
  context "with unparsable content" do
381
381
  let(:env) { {'HTTP_X_REQUEST_START' => 'something'} }
@@ -386,7 +386,7 @@ describe Appsignal::Transaction do
386
386
  context "with some cruft" do
387
387
  let(:env) { {'HTTP_X_REQUEST_START' => "t=#{slightly_earlier_time_value}aaaa"} }
388
388
 
389
- it { should == 1389783599 }
389
+ it { should == 1389783599600 }
390
390
  end
391
391
 
392
392
  context "with a really low number" do
@@ -398,7 +398,7 @@ describe Appsignal::Transaction do
398
398
  context "with the alternate HTTP_X_QUEUE_START header set" do
399
399
  let(:env) { {'HTTP_X_QUEUE_START' => "t=#{slightly_earlier_time_value}"} }
400
400
 
401
- it { should == 1389783599 }
401
+ it { should == 1389783599600 }
402
402
  end
403
403
  end
404
404
  end
@@ -62,11 +62,6 @@ describe Appsignal do
62
62
  Appsignal.start
63
63
  end
64
64
 
65
- it "should load instrumentations" do
66
- Appsignal.should_receive(:load_instrumentations)
67
- Appsignal.start
68
- end
69
-
70
65
  it "should initialize formatters" do
71
66
  Appsignal::EventFormatter.should_receive(:initialize_formatters)
72
67
  Appsignal.start
@@ -115,34 +110,6 @@ describe Appsignal do
115
110
  end
116
111
  end
117
112
 
118
- describe ".load_instrumentations" do
119
- before { Appsignal.config = project_fixture_config }
120
-
121
- context "if on in the config" do
122
- it "should require integrations" do
123
- Appsignal.should_receive(:require).with('appsignal/instrumentations/net_http').once
124
- Appsignal.should_receive(:require).with('appsignal/instrumentations/redis').once
125
- Appsignal.should_receive(:require).with('appsignal/instrumentations/sequel').once
126
- end
127
- end
128
-
129
- context "if off in the config" do
130
- before do
131
- Appsignal.config.config_hash[:instrument_net_http] = false
132
- Appsignal.config.config_hash[:instrument_redis] = false
133
- Appsignal.config.config_hash[:instrument_sequel] = false
134
- end
135
-
136
- it "should require integrations" do
137
- Appsignal.should_not_receive(:require).with('appsignal/instrumentations/net_http')
138
- Appsignal.should_not_receive(:require).with('appsignal/instrumentations/redis')
139
- Appsignal.should_not_receive(:require).with('appsignal/instrumentations/sequel')
140
- end
141
- end
142
-
143
- after { Appsignal.load_instrumentations }
144
- end
145
-
146
113
  context "with debug logging" do
147
114
  before { Appsignal.config = project_fixture_config('test') }
148
115
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.rc.7
4
+ version: 0.12.rc.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-18 00:00:00.000000000 Z
12
+ date: 2015-11-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -155,23 +155,25 @@ files:
155
155
  - lib/appsignal/event_formatter/moped/query_formatter.rb
156
156
  - lib/appsignal/event_formatter/net_http/request_formatter.rb
157
157
  - lib/appsignal/extension.rb
158
- - lib/appsignal/instrumentations/net_http.rb
159
- - lib/appsignal/instrumentations/redis.rb
160
- - lib/appsignal/instrumentations/sequel.rb
158
+ - lib/appsignal/hooks.rb
159
+ - lib/appsignal/hooks/celluloid.rb
160
+ - lib/appsignal/hooks/delayed_job.rb
161
+ - lib/appsignal/hooks/net_http.rb
162
+ - lib/appsignal/hooks/passenger.rb
163
+ - lib/appsignal/hooks/puma.rb
164
+ - lib/appsignal/hooks/rake.rb
165
+ - lib/appsignal/hooks/redis.rb
166
+ - lib/appsignal/hooks/resque.rb
167
+ - lib/appsignal/hooks/sequel.rb
168
+ - lib/appsignal/hooks/sidekiq.rb
169
+ - lib/appsignal/hooks/unicorn.rb
161
170
  - lib/appsignal/integrations/capistrano/appsignal.cap
162
171
  - lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb
163
172
  - lib/appsignal/integrations/capistrano/careful_logger.rb
164
- - lib/appsignal/integrations/celluloid.rb
165
- - lib/appsignal/integrations/delayed_job.rb
173
+ - lib/appsignal/integrations/delayed_job_plugin.rb
166
174
  - lib/appsignal/integrations/padrino.rb
167
- - lib/appsignal/integrations/passenger.rb
168
- - lib/appsignal/integrations/puma.rb
169
- - lib/appsignal/integrations/rails.rb
170
- - lib/appsignal/integrations/rake.rb
171
- - lib/appsignal/integrations/resque.rb
172
- - lib/appsignal/integrations/sidekiq.rb
175
+ - lib/appsignal/integrations/railtie.rb
173
176
  - lib/appsignal/integrations/sinatra.rb
174
- - lib/appsignal/integrations/unicorn.rb
175
177
  - lib/appsignal/js_exception_transaction.rb
176
178
  - lib/appsignal/marker.rb
177
179
  - lib/appsignal/params_sanitizer.rb
@@ -193,6 +195,8 @@ files:
193
195
  - lib/vendor/active_support/per_thread_registry.rb
194
196
  - resources/cacert.pem
195
197
  - spec/lib/appsignal/auth_check_spec.rb
198
+ - spec/lib/appsignal/capistrano2_spec.rb
199
+ - spec/lib/appsignal/capistrano3_spec.rb
196
200
  - spec/lib/appsignal/cli_spec.rb
197
201
  - spec/lib/appsignal/config_spec.rb
198
202
  - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
@@ -201,22 +205,21 @@ files:
201
205
  - spec/lib/appsignal/event_formatter/net_http/request_formatter_spec.rb
202
206
  - spec/lib/appsignal/event_formatter_spec.rb
203
207
  - spec/lib/appsignal/extension_spec.rb
204
- - spec/lib/appsignal/instrumentations/net_http_spec.rb
205
- - spec/lib/appsignal/instrumentations/redis_spec.rb
206
- - spec/lib/appsignal/instrumentations/sequel_spec.rb
207
- - spec/lib/appsignal/integrations/capistrano2_spec.rb
208
- - spec/lib/appsignal/integrations/capistrano3_spec.rb
209
- - spec/lib/appsignal/integrations/celluloid_spec.rb
210
- - spec/lib/appsignal/integrations/delayed_job_spec.rb
208
+ - spec/lib/appsignal/hooks/celluloid_spec.rb
209
+ - spec/lib/appsignal/hooks/delayed_job_spec.rb
210
+ - spec/lib/appsignal/hooks/net_http_spec.rb
211
+ - spec/lib/appsignal/hooks/passenger_spec.rb
212
+ - spec/lib/appsignal/hooks/puma_spec.rb
213
+ - spec/lib/appsignal/hooks/rake_spec.rb
214
+ - spec/lib/appsignal/hooks/redis_spec.rb
215
+ - spec/lib/appsignal/hooks/resque_spec.rb
216
+ - spec/lib/appsignal/hooks/sequel_spec.rb
217
+ - spec/lib/appsignal/hooks/sidekiq_spec.rb
218
+ - spec/lib/appsignal/hooks/unicorn_spec.rb
219
+ - spec/lib/appsignal/hooks_spec.rb
211
220
  - spec/lib/appsignal/integrations/padrino_spec.rb
212
- - spec/lib/appsignal/integrations/passenger_spec.rb
213
- - spec/lib/appsignal/integrations/puma_spec.rb
214
- - spec/lib/appsignal/integrations/rails_spec.rb
215
- - spec/lib/appsignal/integrations/rake_spec.rb
216
- - spec/lib/appsignal/integrations/resque_spec.rb
217
- - spec/lib/appsignal/integrations/sidekiq_spec.rb
221
+ - spec/lib/appsignal/integrations/railtie_spec.rb
218
222
  - spec/lib/appsignal/integrations/sinatra_spec.rb
219
- - spec/lib/appsignal/integrations/unicorn_spec.rb
220
223
  - spec/lib/appsignal/js_exception_transaction_spec.rb
221
224
  - spec/lib/appsignal/marker_spec.rb
222
225
  - spec/lib/appsignal/params_sanitizer_spec.rb
@@ -270,6 +273,8 @@ specification_version: 4
270
273
  summary: Logs performance and exception data from your app to appsignal.com
271
274
  test_files:
272
275
  - spec/lib/appsignal/auth_check_spec.rb
276
+ - spec/lib/appsignal/capistrano2_spec.rb
277
+ - spec/lib/appsignal/capistrano3_spec.rb
273
278
  - spec/lib/appsignal/cli_spec.rb
274
279
  - spec/lib/appsignal/config_spec.rb
275
280
  - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
@@ -278,22 +283,21 @@ test_files:
278
283
  - spec/lib/appsignal/event_formatter/net_http/request_formatter_spec.rb
279
284
  - spec/lib/appsignal/event_formatter_spec.rb
280
285
  - spec/lib/appsignal/extension_spec.rb
281
- - spec/lib/appsignal/instrumentations/net_http_spec.rb
282
- - spec/lib/appsignal/instrumentations/redis_spec.rb
283
- - spec/lib/appsignal/instrumentations/sequel_spec.rb
284
- - spec/lib/appsignal/integrations/capistrano2_spec.rb
285
- - spec/lib/appsignal/integrations/capistrano3_spec.rb
286
- - spec/lib/appsignal/integrations/celluloid_spec.rb
287
- - spec/lib/appsignal/integrations/delayed_job_spec.rb
286
+ - spec/lib/appsignal/hooks/celluloid_spec.rb
287
+ - spec/lib/appsignal/hooks/delayed_job_spec.rb
288
+ - spec/lib/appsignal/hooks/net_http_spec.rb
289
+ - spec/lib/appsignal/hooks/passenger_spec.rb
290
+ - spec/lib/appsignal/hooks/puma_spec.rb
291
+ - spec/lib/appsignal/hooks/rake_spec.rb
292
+ - spec/lib/appsignal/hooks/redis_spec.rb
293
+ - spec/lib/appsignal/hooks/resque_spec.rb
294
+ - spec/lib/appsignal/hooks/sequel_spec.rb
295
+ - spec/lib/appsignal/hooks/sidekiq_spec.rb
296
+ - spec/lib/appsignal/hooks/unicorn_spec.rb
297
+ - spec/lib/appsignal/hooks_spec.rb
288
298
  - spec/lib/appsignal/integrations/padrino_spec.rb
289
- - spec/lib/appsignal/integrations/passenger_spec.rb
290
- - spec/lib/appsignal/integrations/puma_spec.rb
291
- - spec/lib/appsignal/integrations/rails_spec.rb
292
- - spec/lib/appsignal/integrations/rake_spec.rb
293
- - spec/lib/appsignal/integrations/resque_spec.rb
294
- - spec/lib/appsignal/integrations/sidekiq_spec.rb
299
+ - spec/lib/appsignal/integrations/railtie_spec.rb
295
300
  - spec/lib/appsignal/integrations/sinatra_spec.rb
296
- - spec/lib/appsignal/integrations/unicorn_spec.rb
297
301
  - spec/lib/appsignal/js_exception_transaction_spec.rb
298
302
  - spec/lib/appsignal/marker_spec.rb
299
303
  - spec/lib/appsignal/params_sanitizer_spec.rb