appsignal 0.12.beta.31 → 0.12.beta.32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/Rakefile +1 -0
- data/benchmark.rake +20 -20
- data/ext/appsignal_extension.c +31 -23
- data/gemfiles/padrino.gemfile +7 -0
- data/lib/appsignal.rb +50 -27
- data/lib/appsignal/capistrano.rb +2 -1
- data/lib/appsignal/config.rb +94 -39
- data/lib/appsignal/event_formatter/active_record/sql_formatter.rb +12 -17
- data/lib/appsignal/integrations/padrino.rb +65 -0
- data/lib/appsignal/integrations/rails.rb +4 -2
- data/lib/appsignal/integrations/rake.rb +30 -0
- data/lib/appsignal/integrations/sidekiq.rb +2 -2
- data/lib/appsignal/integrations/sinatra.rb +0 -1
- data/lib/appsignal/js_exception_transaction.rb +4 -9
- data/lib/appsignal/params_sanitizer.rb +8 -5
- data/lib/appsignal/rack/rails_instrumentation.rb +41 -0
- data/lib/appsignal/rack/sinatra_instrumentation.rb +31 -24
- data/lib/appsignal/subscriber.rb +2 -9
- data/lib/appsignal/transaction.rb +86 -75
- data/lib/appsignal/transmitter.rb +30 -3
- data/lib/appsignal/version.rb +2 -2
- data/spec/lib/appsignal/cli_spec.rb +1 -1
- data/spec/lib/appsignal/config_spec.rb +38 -131
- data/spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb +27 -29
- data/spec/lib/appsignal/extension_spec.rb +11 -29
- data/spec/lib/appsignal/integrations/padrino_spec.rb +191 -0
- data/spec/lib/appsignal/integrations/rails_spec.rb +3 -4
- data/spec/lib/appsignal/integrations/rake_spec.rb +78 -0
- data/spec/lib/appsignal/integrations/resque_spec.rb +2 -2
- data/spec/lib/appsignal/integrations/sequel_spec.rb +2 -3
- data/spec/lib/appsignal/integrations/sidekiq_spec.rb +22 -5
- data/spec/lib/appsignal/integrations/sinatra_spec.rb +0 -6
- data/spec/lib/appsignal/js_exception_transaction_spec.rb +4 -6
- data/spec/lib/appsignal/params_sanitizer_spec.rb +27 -11
- data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +79 -0
- data/spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb +71 -71
- data/spec/lib/appsignal/subscriber_spec.rb +3 -37
- data/spec/lib/appsignal/transaction_spec.rb +290 -155
- data/spec/lib/appsignal/transmitter_spec.rb +10 -0
- data/spec/lib/appsignal_spec.rb +80 -47
- data/spec/spec_helper.rb +21 -2
- data/spec/support/helpers/env_helpers.rb +31 -0
- data/spec/support/helpers/notification_helpers.rb +1 -30
- data/spec/support/helpers/transaction_helpers.rb +7 -7
- data/spec/support/project_fixture/config/appsignal.yml +2 -0
- metadata +14 -8
- data/lib/appsignal/rack/instrumentation.rb +0 -32
- data/lib/appsignal/rack/listener.rb +0 -32
- data/spec/lib/appsignal/rack/instrumentation_spec.rb +0 -72
- data/spec/lib/appsignal/rack/listener_spec.rb +0 -104
@@ -69,6 +69,7 @@ describe Appsignal::Transmitter do
|
|
69
69
|
let(:config) { project_fixture_config('test') }
|
70
70
|
|
71
71
|
it { should be_instance_of(Net::HTTP) }
|
72
|
+
its(:proxy?) { should be_false }
|
72
73
|
its(:use_ssl?) { should be_false }
|
73
74
|
end
|
74
75
|
|
@@ -76,9 +77,18 @@ describe Appsignal::Transmitter do
|
|
76
77
|
let(:config) { project_fixture_config('production') }
|
77
78
|
|
78
79
|
it { should be_instance_of(Net::HTTP) }
|
80
|
+
its(:proxy?) { should be_false }
|
79
81
|
its(:use_ssl?) { should be_true }
|
80
82
|
its(:verify_mode) { should == OpenSSL::SSL::VERIFY_PEER }
|
81
83
|
its(:ca_file) { Appsignal::Transmitter::CA_FILE_PATH }
|
82
84
|
end
|
85
|
+
|
86
|
+
context "with a proxy" do
|
87
|
+
let(:config) { project_fixture_config('production', :http_proxy => 'http://localhost:8080') }
|
88
|
+
|
89
|
+
its(:proxy?) { should be_true }
|
90
|
+
its(:proxy_address) { should == 'localhost' }
|
91
|
+
its(:proxy_port) { should == 8080 }
|
92
|
+
end
|
83
93
|
end
|
84
94
|
end
|
data/spec/lib/appsignal_spec.rb
CHANGED
@@ -201,29 +201,29 @@ describe Appsignal do
|
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
204
|
-
describe ".
|
204
|
+
describe ".listen_for_error" do
|
205
205
|
it "should do nothing" do
|
206
206
|
error = RuntimeError.new('specific error')
|
207
207
|
lambda {
|
208
|
-
Appsignal.
|
208
|
+
Appsignal.listen_for_error do
|
209
209
|
raise error
|
210
210
|
end
|
211
211
|
}.should raise_error(error)
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
215
|
-
describe ".
|
215
|
+
describe ".send_error" do
|
216
216
|
it "should do nothing" do
|
217
217
|
lambda {
|
218
|
-
Appsignal.
|
218
|
+
Appsignal.send_error(RuntimeError.new)
|
219
219
|
}.should_not raise_error
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
-
describe ".
|
223
|
+
describe ".set_error" do
|
224
224
|
it "should do nothing" do
|
225
225
|
lambda {
|
226
|
-
Appsignal.
|
226
|
+
Appsignal.set_error(RuntimeError.new)
|
227
227
|
}.should_not raise_error
|
228
228
|
end
|
229
229
|
end
|
@@ -244,12 +244,10 @@ describe Appsignal do
|
|
244
244
|
end
|
245
245
|
|
246
246
|
describe ".monitor_transaction" do
|
247
|
-
context "with a
|
248
|
-
it "should instrument and complete" do
|
249
|
-
Appsignal::Transaction.stub(:current => transaction)
|
247
|
+
context "with a successful call" do
|
248
|
+
it "should instrument and complete for a background job" do
|
250
249
|
ActiveSupport::Notifications.should_receive(:instrument).with(
|
251
|
-
'perform_job.something'
|
252
|
-
:class => 'Something'
|
250
|
+
'perform_job.something'
|
253
251
|
).and_yield
|
254
252
|
Appsignal::Transaction.should_receive(:complete_current!)
|
255
253
|
object = double
|
@@ -257,8 +255,30 @@ describe Appsignal do
|
|
257
255
|
|
258
256
|
Appsignal.monitor_transaction(
|
259
257
|
'perform_job.something',
|
260
|
-
|
258
|
+
background_env_with_data
|
259
|
+
) do
|
260
|
+
current = Appsignal::Transaction.current
|
261
|
+
current.namespace.should == Appsignal::Transaction::BACKGROUND_JOB
|
262
|
+
current.request.should be_a(Appsignal::Transaction::GenericRequest)
|
263
|
+
object.some_method
|
264
|
+
end
|
265
|
+
end
|
266
|
+
|
267
|
+
it "should instrument and complete for a http request" do
|
268
|
+
ActiveSupport::Notifications.should_receive(:instrument).with(
|
269
|
+
'process_action.something'
|
270
|
+
).and_yield
|
271
|
+
Appsignal::Transaction.should_receive(:complete_current!)
|
272
|
+
object = double
|
273
|
+
object.should_receive(:some_method)
|
274
|
+
|
275
|
+
Appsignal.monitor_transaction(
|
276
|
+
'process_action.something',
|
277
|
+
http_request_env_with_data
|
261
278
|
) do
|
279
|
+
current = Appsignal::Transaction.current
|
280
|
+
current.namespace.should == Appsignal::Transaction::HTTP_REQUEST
|
281
|
+
current.request.should be_a(::Rack::Request)
|
262
282
|
object.some_method
|
263
283
|
end
|
264
284
|
end
|
@@ -268,7 +288,7 @@ describe Appsignal do
|
|
268
288
|
let(:error) { VerySpecificError.new('the roof') }
|
269
289
|
|
270
290
|
it "should add the error to the current transaction and complete" do
|
271
|
-
Appsignal.should_receive(:
|
291
|
+
Appsignal::Transaction.any_instance.should_receive(:set_error).with(error)
|
272
292
|
Appsignal::Transaction.should_receive(:complete_current!)
|
273
293
|
|
274
294
|
lambda {
|
@@ -437,9 +457,10 @@ describe Appsignal do
|
|
437
457
|
end
|
438
458
|
|
439
459
|
describe ".send_error" do
|
440
|
-
let(:tags)
|
460
|
+
let(:tags) { nil }
|
461
|
+
let(:error) { VerySpecificError.new }
|
441
462
|
|
442
|
-
it "should send the
|
463
|
+
it "should send the error to AppSignal" do
|
443
464
|
Appsignal::Transaction.should_receive(:create).and_call_original
|
444
465
|
end
|
445
466
|
|
@@ -447,68 +468,80 @@ describe Appsignal do
|
|
447
468
|
let(:tags) { {:a => 'a', :b => 'b'} }
|
448
469
|
|
449
470
|
it "should tag the request before sending" do
|
450
|
-
transaction = Appsignal::Transaction.create(
|
471
|
+
transaction = Appsignal::Transaction.create(
|
472
|
+
SecureRandom.uuid,
|
473
|
+
Appsignal::Transaction::HTTP_REQUEST,
|
474
|
+
Appsignal::Transaction::GenericRequest.new({})
|
475
|
+
)
|
451
476
|
Appsignal::Transaction.stub(:create => transaction)
|
452
477
|
transaction.should_receive(:set_tags).with(tags)
|
453
478
|
Appsignal::Transaction.should_receive(:complete_current!)
|
454
479
|
end
|
455
480
|
end
|
456
481
|
|
457
|
-
it "should not send the
|
458
|
-
Appsignal.stub(:
|
482
|
+
it "should not send the error if it's in the ignored list" do
|
483
|
+
Appsignal.stub(:is_ignored_error? => true)
|
459
484
|
Appsignal::Transaction.should_not_receive(:create)
|
460
485
|
end
|
461
486
|
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
Appsignal.
|
487
|
+
context "when given class is not an error" do
|
488
|
+
let(:error) { double }
|
489
|
+
|
490
|
+
it "should log a message" do
|
491
|
+
expect( Appsignal.logger ).to receive(:error).with('Can\'t send error, given value is not an exception')
|
467
492
|
end
|
493
|
+
|
494
|
+
it "should not send the error" do
|
495
|
+
expect( Appsignal::Transaction ).to_not receive(:create)
|
496
|
+
end
|
497
|
+
end
|
498
|
+
|
499
|
+
after do
|
500
|
+
Appsignal.send_error(error, tags)
|
468
501
|
end
|
469
502
|
end
|
470
503
|
|
471
|
-
describe ".
|
472
|
-
it "should call
|
473
|
-
Appsignal.should_receive(:
|
504
|
+
describe ".listen_for_error" do
|
505
|
+
it "should call send_error and re-raise" do
|
506
|
+
Appsignal.should_receive(:send_error).with(kind_of(Exception))
|
474
507
|
lambda {
|
475
|
-
Appsignal.
|
508
|
+
Appsignal.listen_for_error do
|
476
509
|
raise "I am an exception"
|
477
510
|
end
|
478
511
|
}.should raise_error(RuntimeError, "I am an exception")
|
479
512
|
end
|
480
513
|
end
|
481
514
|
|
482
|
-
describe ".
|
515
|
+
describe ".set_error" do
|
483
516
|
before { Appsignal::Transaction.stub(:current => transaction) }
|
484
|
-
let(:
|
517
|
+
let(:error) { RuntimeError.new('I am an exception') }
|
485
518
|
|
486
|
-
it "should add the
|
487
|
-
transaction.should_receive(:set_error).with(
|
519
|
+
it "should add the error to the current transaction" do
|
520
|
+
transaction.should_receive(:set_error).with(error)
|
488
521
|
|
489
|
-
Appsignal.
|
522
|
+
Appsignal.set_error(error)
|
490
523
|
end
|
491
524
|
|
492
525
|
it "should do nothing if there is no current transaction" do
|
493
526
|
Appsignal::Transaction.stub(:current => nil)
|
494
527
|
|
495
|
-
transaction.should_not_receive(:
|
528
|
+
transaction.should_not_receive(:set_error)
|
496
529
|
|
497
|
-
Appsignal.
|
530
|
+
Appsignal.set_error(error)
|
498
531
|
end
|
499
532
|
|
500
|
-
it "should not add the
|
501
|
-
Appsignal.stub(:
|
533
|
+
it "should not add the error if it's in the ignored list" do
|
534
|
+
Appsignal.stub(:is_ignored_error? => true)
|
502
535
|
|
503
|
-
transaction.should_not_receive(:
|
536
|
+
transaction.should_not_receive(:set_error)
|
504
537
|
|
505
|
-
Appsignal.
|
538
|
+
Appsignal.set_error(error)
|
506
539
|
end
|
507
540
|
|
508
|
-
it "should do nothing if the
|
509
|
-
transaction.should_not_receive(:
|
541
|
+
it "should do nothing if the error is nil" do
|
542
|
+
transaction.should_not_receive(:set_error)
|
510
543
|
|
511
|
-
Appsignal.
|
544
|
+
Appsignal.set_error(nil)
|
512
545
|
end
|
513
546
|
end
|
514
547
|
|
@@ -536,22 +569,22 @@ describe Appsignal do
|
|
536
569
|
end
|
537
570
|
end
|
538
571
|
|
539
|
-
describe ".
|
540
|
-
let(:
|
572
|
+
describe ".is_ignored_error?" do
|
573
|
+
let(:error) { StandardError.new }
|
541
574
|
before do
|
542
575
|
Appsignal.stub(
|
543
|
-
:config => {:
|
576
|
+
:config => {:ignore_errors => ['StandardError']}
|
544
577
|
)
|
545
578
|
end
|
546
579
|
|
547
|
-
subject { Appsignal.
|
580
|
+
subject { Appsignal.is_ignored_error?(error) }
|
548
581
|
|
549
582
|
it "should return true if it's in the ignored list" do
|
550
583
|
should be_true
|
551
584
|
end
|
552
585
|
|
553
|
-
context "when
|
554
|
-
let(:
|
586
|
+
context "when error is not in the ignored list" do
|
587
|
+
let(:error) { Object.new }
|
555
588
|
|
556
589
|
it "should return false" do
|
557
590
|
should be_false
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
ENV['RAILS_ENV'] ||= 'test'
|
2
|
+
require 'rack'
|
2
3
|
require 'rspec'
|
3
4
|
require 'pry'
|
4
5
|
require 'timecop'
|
@@ -20,6 +21,13 @@ def rails_present?
|
|
20
21
|
RAILS_PRESENT
|
21
22
|
end
|
22
23
|
|
24
|
+
def active_record_present?
|
25
|
+
require 'active_record'
|
26
|
+
true
|
27
|
+
rescue LoadError
|
28
|
+
false
|
29
|
+
end
|
30
|
+
|
23
31
|
def running_jruby?
|
24
32
|
defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
25
33
|
end
|
@@ -45,6 +53,13 @@ rescue LoadError
|
|
45
53
|
false
|
46
54
|
end
|
47
55
|
|
56
|
+
def padrino_present?
|
57
|
+
require 'padrino'
|
58
|
+
true
|
59
|
+
rescue LoadError
|
60
|
+
false
|
61
|
+
end
|
62
|
+
|
48
63
|
require 'appsignal'
|
49
64
|
|
50
65
|
Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support/helpers','*.rb'))].each {|f| require f}
|
@@ -71,6 +86,7 @@ end
|
|
71
86
|
|
72
87
|
RSpec.configure do |config|
|
73
88
|
config.include ConfigHelpers
|
89
|
+
config.include EnvHelpers
|
74
90
|
config.include NotificationHelpers
|
75
91
|
config.include TimeHelpers
|
76
92
|
config.include TransactionHelpers
|
@@ -78,8 +94,11 @@ RSpec.configure do |config|
|
|
78
94
|
config.before do
|
79
95
|
ENV['PWD'] = File.expand_path(File.join(File.dirname(__FILE__), '../'))
|
80
96
|
ENV['RAILS_ENV'] = 'test'
|
81
|
-
|
82
|
-
|
97
|
+
|
98
|
+
# Clean environment
|
99
|
+
ENV.keys.select { |key| key.start_with?('APPSIGNAL_') }.each do |key|
|
100
|
+
ENV[key] = nil
|
101
|
+
end
|
83
102
|
end
|
84
103
|
|
85
104
|
config.after do
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module EnvHelpers
|
2
|
+
def http_request_env_with_data(args={})
|
3
|
+
Rack::MockRequest.env_for(
|
4
|
+
'/blog',
|
5
|
+
:params => {
|
6
|
+
'controller' => 'blog_posts',
|
7
|
+
'action' => 'show',
|
8
|
+
'id' => '1'
|
9
|
+
}
|
10
|
+
).merge(
|
11
|
+
:controller => 'BlogPostsController',
|
12
|
+
:action => 'show',
|
13
|
+
:request_format => 'html',
|
14
|
+
:request_method => "GET",
|
15
|
+
:status => '200',
|
16
|
+
:view_runtime => 500,
|
17
|
+
:db_runtime => 500,
|
18
|
+
).merge(args)
|
19
|
+
end
|
20
|
+
|
21
|
+
def background_env_with_data(args={})
|
22
|
+
{
|
23
|
+
:class => 'BackgroundJob',
|
24
|
+
:method => 'perform',
|
25
|
+
:priority => 1,
|
26
|
+
:attempts => 0,
|
27
|
+
:queue => 'default',
|
28
|
+
:queue_start => fixed_time - 10.0,
|
29
|
+
}.merge(args)
|
30
|
+
end
|
31
|
+
end
|
@@ -5,39 +5,10 @@ module NotificationHelpers
|
|
5
5
|
:start => fixed_time,
|
6
6
|
:ending => fixed_time + 0.1,
|
7
7
|
:tid => '1',
|
8
|
-
:payload =>
|
8
|
+
:payload => http_request_env_with_data
|
9
9
|
}.merge(args)
|
10
10
|
ActiveSupport::Notifications::Event.new(
|
11
11
|
args[:name], args[:start], args[:ending], args[:tid], args[:payload]
|
12
12
|
)
|
13
13
|
end
|
14
|
-
|
15
|
-
def create_payload(args={})
|
16
|
-
{
|
17
|
-
:path => '/blog',
|
18
|
-
:action => 'show',
|
19
|
-
:controller => 'BlogPostsController',
|
20
|
-
:params => {
|
21
|
-
'controller' => 'blog_posts',
|
22
|
-
'action' => 'show',
|
23
|
-
'id' => '1'
|
24
|
-
},
|
25
|
-
:request_format => 'html',
|
26
|
-
:request_method => "GET",
|
27
|
-
:status => '200',
|
28
|
-
:view_runtime => 500,
|
29
|
-
:db_runtime => 500
|
30
|
-
}.merge(args)
|
31
|
-
end
|
32
|
-
|
33
|
-
def create_background_payload(args={})
|
34
|
-
{
|
35
|
-
:class => 'BackgroundJob',
|
36
|
-
:method => 'perform',
|
37
|
-
:priority => 1,
|
38
|
-
:attempts => 0,
|
39
|
-
:queue => 'default',
|
40
|
-
:queue_start => fixed_time - 10.0,
|
41
|
-
}.merge(args)
|
42
|
-
end
|
43
14
|
end
|
@@ -55,16 +55,15 @@ module TransactionHelpers
|
|
55
55
|
)
|
56
56
|
end
|
57
57
|
|
58
|
-
def background_job_transaction(args={}, payload=
|
58
|
+
def background_job_transaction(args={}, payload=background_env_with_data)
|
59
59
|
Appsignal::Transaction.create(
|
60
60
|
'1',
|
61
|
-
|
61
|
+
Appsignal::Transaction::BACKGROUND_JOB,
|
62
|
+
Appsignal::Transaction::GenericRequest.new({
|
62
63
|
'SERVER_NAME' => 'localhost',
|
63
64
|
'action_dispatch.routes' => 'not_available'
|
64
|
-
}.merge(args)
|
65
|
-
)
|
66
|
-
o.set_root_event('perform_job.delayed_job', payload )
|
67
|
-
end
|
65
|
+
}.merge(args))
|
66
|
+
)
|
68
67
|
end
|
69
68
|
|
70
69
|
def appsignal_transaction(args={})
|
@@ -75,13 +74,14 @@ module TransactionHelpers
|
|
75
74
|
exception = args.delete(:exception)
|
76
75
|
Appsignal::Transaction.create(
|
77
76
|
'1',
|
77
|
+
args.delete(:namespace) || Appsignal::Transaction::HTTP_REQUEST,
|
78
78
|
{
|
79
79
|
'HTTP_USER_AGENT' => 'IE6',
|
80
80
|
'SERVER_NAME' => 'localhost',
|
81
81
|
'action_dispatch.routes' => 'not_available'
|
82
82
|
}.merge(args)
|
83
83
|
).tap do |o|
|
84
|
-
o.
|
84
|
+
o.set_action(process_action_event.name)
|
85
85
|
o.set_exception(exception) if exception
|
86
86
|
end
|
87
87
|
end
|
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.beta.
|
4
|
+
version: 0.12.beta.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Beekman
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-
|
15
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rack
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- gemfiles/capistrano2.gemfile
|
138
138
|
- gemfiles/capistrano3.gemfile
|
139
139
|
- gemfiles/no_dependencies.gemfile
|
140
|
+
- gemfiles/padrino.gemfile
|
140
141
|
- gemfiles/rails-3.0.gemfile
|
141
142
|
- gemfiles/rails-3.1.gemfile
|
142
143
|
- gemfiles/rails-3.2.gemfile
|
@@ -161,7 +162,9 @@ files:
|
|
161
162
|
- lib/appsignal/integrations/capistrano/careful_logger.rb
|
162
163
|
- lib/appsignal/integrations/celluloid.rb
|
163
164
|
- lib/appsignal/integrations/delayed_job.rb
|
165
|
+
- lib/appsignal/integrations/padrino.rb
|
164
166
|
- lib/appsignal/integrations/rails.rb
|
167
|
+
- lib/appsignal/integrations/rake.rb
|
165
168
|
- lib/appsignal/integrations/resque.rb
|
166
169
|
- lib/appsignal/integrations/sequel.rb
|
167
170
|
- lib/appsignal/integrations/sidekiq.rb
|
@@ -169,9 +172,8 @@ files:
|
|
169
172
|
- lib/appsignal/js_exception_transaction.rb
|
170
173
|
- lib/appsignal/marker.rb
|
171
174
|
- lib/appsignal/params_sanitizer.rb
|
172
|
-
- lib/appsignal/rack/instrumentation.rb
|
173
175
|
- lib/appsignal/rack/js_exception_catcher.rb
|
174
|
-
- lib/appsignal/rack/
|
176
|
+
- lib/appsignal/rack/rails_instrumentation.rb
|
175
177
|
- lib/appsignal/rack/sinatra_instrumentation.rb
|
176
178
|
- lib/appsignal/subscriber.rb
|
177
179
|
- lib/appsignal/transaction.rb
|
@@ -200,7 +202,9 @@ files:
|
|
200
202
|
- spec/lib/appsignal/integrations/capistrano3_spec.rb
|
201
203
|
- spec/lib/appsignal/integrations/celluloid_spec.rb
|
202
204
|
- spec/lib/appsignal/integrations/delayed_job_spec.rb
|
205
|
+
- spec/lib/appsignal/integrations/padrino_spec.rb
|
203
206
|
- spec/lib/appsignal/integrations/rails_spec.rb
|
207
|
+
- spec/lib/appsignal/integrations/rake_spec.rb
|
204
208
|
- spec/lib/appsignal/integrations/resque_spec.rb
|
205
209
|
- spec/lib/appsignal/integrations/sequel_spec.rb
|
206
210
|
- spec/lib/appsignal/integrations/sidekiq_spec.rb
|
@@ -208,9 +212,8 @@ files:
|
|
208
212
|
- spec/lib/appsignal/js_exception_transaction_spec.rb
|
209
213
|
- spec/lib/appsignal/marker_spec.rb
|
210
214
|
- spec/lib/appsignal/params_sanitizer_spec.rb
|
211
|
-
- spec/lib/appsignal/rack/instrumentation_spec.rb
|
212
215
|
- spec/lib/appsignal/rack/js_exception_catcher_spec.rb
|
213
|
-
- spec/lib/appsignal/rack/
|
216
|
+
- spec/lib/appsignal/rack/rails_instrumentation_spec.rb
|
214
217
|
- spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
|
215
218
|
- spec/lib/appsignal/subscriber_spec.rb
|
216
219
|
- spec/lib/appsignal/transaction_spec.rb
|
@@ -223,6 +226,7 @@ files:
|
|
223
226
|
- spec/support/fixtures/generated_config.yml
|
224
227
|
- spec/support/fixtures/uploaded_file.txt
|
225
228
|
- spec/support/helpers/config_helpers.rb
|
229
|
+
- spec/support/helpers/env_helpers.rb
|
226
230
|
- spec/support/helpers/notification_helpers.rb
|
227
231
|
- spec/support/helpers/time_helpers.rb
|
228
232
|
- spec/support/helpers/transaction_helpers.rb
|
@@ -270,7 +274,9 @@ test_files:
|
|
270
274
|
- spec/lib/appsignal/integrations/capistrano3_spec.rb
|
271
275
|
- spec/lib/appsignal/integrations/celluloid_spec.rb
|
272
276
|
- spec/lib/appsignal/integrations/delayed_job_spec.rb
|
277
|
+
- spec/lib/appsignal/integrations/padrino_spec.rb
|
273
278
|
- spec/lib/appsignal/integrations/rails_spec.rb
|
279
|
+
- spec/lib/appsignal/integrations/rake_spec.rb
|
274
280
|
- spec/lib/appsignal/integrations/resque_spec.rb
|
275
281
|
- spec/lib/appsignal/integrations/sequel_spec.rb
|
276
282
|
- spec/lib/appsignal/integrations/sidekiq_spec.rb
|
@@ -278,9 +284,8 @@ test_files:
|
|
278
284
|
- spec/lib/appsignal/js_exception_transaction_spec.rb
|
279
285
|
- spec/lib/appsignal/marker_spec.rb
|
280
286
|
- spec/lib/appsignal/params_sanitizer_spec.rb
|
281
|
-
- spec/lib/appsignal/rack/instrumentation_spec.rb
|
282
287
|
- spec/lib/appsignal/rack/js_exception_catcher_spec.rb
|
283
|
-
- spec/lib/appsignal/rack/
|
288
|
+
- spec/lib/appsignal/rack/rails_instrumentation_spec.rb
|
284
289
|
- spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
|
285
290
|
- spec/lib/appsignal/subscriber_spec.rb
|
286
291
|
- spec/lib/appsignal/transaction_spec.rb
|
@@ -293,6 +298,7 @@ test_files:
|
|
293
298
|
- spec/support/fixtures/generated_config.yml
|
294
299
|
- spec/support/fixtures/uploaded_file.txt
|
295
300
|
- spec/support/helpers/config_helpers.rb
|
301
|
+
- spec/support/helpers/env_helpers.rb
|
296
302
|
- spec/support/helpers/notification_helpers.rb
|
297
303
|
- spec/support/helpers/time_helpers.rb
|
298
304
|
- spec/support/helpers/transaction_helpers.rb
|