appsignal 2.9.2.alpha.1 → 2.9.18.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
- data/.github/ISSUE_TEMPLATE/chore.md +14 -0
- data/.gitignore +1 -2
- data/.rubocop.yml +3 -0
- data/.travis.yml +25 -27
- data/CHANGELOG.md +632 -535
- data/README.md +8 -3
- data/Rakefile +118 -122
- data/SUPPORT.md +16 -0
- data/appsignal.gemspec +14 -4
- data/build_matrix.yml +16 -8
- data/ext/Rakefile +2 -3
- data/ext/agent.yml +40 -37
- data/ext/base.rb +37 -14
- data/ext/extconf.rb +3 -4
- data/gemfiles/capistrano2.gemfile +5 -0
- data/gemfiles/capistrano3.gemfile +5 -0
- data/gemfiles/grape.gemfile +5 -0
- data/gemfiles/no_dependencies.gemfile +5 -0
- data/gemfiles/padrino.gemfile +5 -0
- data/gemfiles/que.gemfile +5 -0
- data/gemfiles/que_beta.gemfile +10 -0
- data/gemfiles/rails-3.2.gemfile +5 -0
- data/gemfiles/rails-4.0.gemfile +5 -0
- data/gemfiles/rails-4.1.gemfile +5 -0
- data/gemfiles/rails-4.2.gemfile +5 -0
- data/gemfiles/rails-6.0.gemfile +1 -1
- data/gemfiles/resque.gemfile +5 -0
- data/lib/appsignal.rb +1 -4
- data/lib/appsignal/cli/demo.rb +5 -2
- data/lib/appsignal/cli/diagnose/utils.rb +2 -0
- data/lib/appsignal/cli/install.rb +34 -10
- data/lib/appsignal/cli/notify_of_deploy.rb +10 -0
- data/lib/appsignal/event_formatter/action_view/render_formatter.rb +10 -8
- data/lib/appsignal/helpers/instrumentation.rb +18 -9
- data/lib/appsignal/helpers/metrics.rb +0 -1
- data/lib/appsignal/hooks.rb +3 -1
- data/lib/appsignal/hooks/active_support_notifications.rb +2 -5
- data/lib/appsignal/hooks/puma.rb +15 -13
- data/lib/appsignal/hooks/sequel.rb +1 -1
- data/lib/appsignal/hooks/sidekiq.rb +33 -8
- data/lib/appsignal/integrations/que.rb +9 -8
- data/lib/appsignal/minutely.rb +38 -19
- data/lib/appsignal/transaction.rb +5 -0
- data/lib/appsignal/utils/rails_helper.rb +4 -0
- data/lib/appsignal/version.rb +1 -1
- data/lib/puma/plugin/appsignal.rb +26 -0
- data/spec/lib/appsignal/cli/diagnose/utils_spec.rb +40 -0
- data/spec/lib/appsignal/cli/install_spec.rb +51 -7
- data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +10 -0
- data/spec/lib/appsignal/config_spec.rb +10 -8
- data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +38 -28
- data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +104 -25
- data/spec/lib/appsignal/hooks/puma_spec.rb +69 -39
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +65 -3
- data/spec/lib/appsignal/hooks_spec.rb +4 -0
- data/spec/lib/appsignal/minutely_spec.rb +150 -88
- data/spec/lib/appsignal/transaction_spec.rb +27 -4
- data/spec/lib/appsignal_spec.rb +62 -11
- data/spec/lib/puma/appsignal_spec.rb +91 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/application.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/appsignal.yml +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/development.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/production.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/test.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/log/.gitkeep +0 -0
- data/spec/support/helpers/config_helpers.rb +1 -1
- data/spec/support/helpers/wait_for_helper.rb +28 -0
- data/spec/support/mocks/mock_probe.rb +11 -0
- metadata +37 -30
- data/spec/support/fixtures/containers/cgroups/docker +0 -14
- data/spec/support/fixtures/containers/cgroups/docker_systemd +0 -8
- data/spec/support/fixtures/containers/cgroups/lxc +0 -10
- data/spec/support/fixtures/containers/cgroups/no_permission +0 -0
- data/spec/support/fixtures/containers/cgroups/none +0 -1
@@ -630,7 +630,11 @@ describe Appsignal::Transaction do
|
|
630
630
|
|
631
631
|
describe "#set_error" do
|
632
632
|
let(:env) { http_request_env_with_data }
|
633
|
-
let(:error)
|
633
|
+
let(:error) do
|
634
|
+
e = ExampleStandardError.new("test message")
|
635
|
+
allow(e).to receive(:backtrace).and_return(["line 1"])
|
636
|
+
e
|
637
|
+
end
|
634
638
|
|
635
639
|
it "should also respond to add_exception for backwords compatibility" do
|
636
640
|
expect(transaction).to respond_to(:add_exception)
|
@@ -643,10 +647,24 @@ describe Appsignal::Transaction do
|
|
643
647
|
transaction.set_error(error)
|
644
648
|
end
|
645
649
|
|
650
|
+
context "when error is not an error" do
|
651
|
+
let(:error) { Object.new }
|
652
|
+
|
653
|
+
it "does not add the error" do
|
654
|
+
expect(Appsignal.logger).to receive(:error).with(
|
655
|
+
"Appsignal::Transaction#set_error: Cannot set error. " \
|
656
|
+
"The given value is not an exception: #{error.inspect}"
|
657
|
+
)
|
658
|
+
expect(transaction.ext).to_not receive(:set_error)
|
659
|
+
|
660
|
+
transaction.set_error(error)
|
661
|
+
end
|
662
|
+
end
|
663
|
+
|
646
664
|
context "for a http request" do
|
647
665
|
it "should set an error in the extension" do
|
648
666
|
expect(transaction.ext).to receive(:set_error).with(
|
649
|
-
"
|
667
|
+
"ExampleStandardError",
|
650
668
|
"test message",
|
651
669
|
Appsignal::Utils::Data.generate(["line 1"])
|
652
670
|
)
|
@@ -656,7 +674,12 @@ describe Appsignal::Transaction do
|
|
656
674
|
end
|
657
675
|
|
658
676
|
context "when error message is nil" do
|
659
|
-
let(:error)
|
677
|
+
let(:error) do
|
678
|
+
e = ExampleStandardError.new
|
679
|
+
allow(e).to receive(:message).and_return(nil)
|
680
|
+
allow(e).to receive(:backtrace).and_return(["line 1"])
|
681
|
+
e
|
682
|
+
end
|
660
683
|
|
661
684
|
it "should not raise an error" do
|
662
685
|
expect { transaction.set_error(error) }.to_not raise_error
|
@@ -664,7 +687,7 @@ describe Appsignal::Transaction do
|
|
664
687
|
|
665
688
|
it "should set an error in the extension" do
|
666
689
|
expect(transaction.ext).to receive(:set_error).with(
|
667
|
-
"
|
690
|
+
"ExampleStandardError",
|
668
691
|
"",
|
669
692
|
Appsignal::Utils::Data.generate(["line 1"])
|
670
693
|
)
|
data/spec/lib/appsignal_spec.rb
CHANGED
@@ -94,12 +94,6 @@ describe Appsignal do
|
|
94
94
|
Appsignal.start
|
95
95
|
end
|
96
96
|
end
|
97
|
-
|
98
|
-
it "should add the gc probe to minutely" do
|
99
|
-
expect(Appsignal::Minutely).to receive(:register_garbage_collection_probe)
|
100
|
-
.and_call_original
|
101
|
-
Appsignal.start
|
102
|
-
end
|
103
97
|
end
|
104
98
|
|
105
99
|
context "when allocation tracking and gc instrumentation have been disabled" do
|
@@ -246,6 +240,16 @@ describe Appsignal do
|
|
246
240
|
|
247
241
|
context "not active" do
|
248
242
|
describe ".monitor_transaction" do
|
243
|
+
let(:log_stream) { StringIO.new }
|
244
|
+
let(:log) { log_contents(log_stream) }
|
245
|
+
before do
|
246
|
+
Appsignal.config = project_fixture_config("not_active")
|
247
|
+
Appsignal.start
|
248
|
+
Appsignal.start_logger
|
249
|
+
Appsignal.logger = test_logger(log_stream)
|
250
|
+
end
|
251
|
+
after { Appsignal.logger = nil }
|
252
|
+
|
249
253
|
it "should do nothing but still yield the block" do
|
250
254
|
expect(Appsignal::Transaction).to_not receive(:create)
|
251
255
|
expect(Appsignal).to_not receive(:instrument)
|
@@ -258,6 +262,23 @@ describe Appsignal do
|
|
258
262
|
end).to eq 1
|
259
263
|
end.to_not raise_error
|
260
264
|
end
|
265
|
+
|
266
|
+
context "with an unknown event type" do
|
267
|
+
it "yields the given block" do
|
268
|
+
expect do |blk|
|
269
|
+
Appsignal.monitor_transaction("unknown.sidekiq", &blk)
|
270
|
+
end.to yield_control
|
271
|
+
end
|
272
|
+
|
273
|
+
it "logs an error" do
|
274
|
+
Appsignal.monitor_transaction("unknown.sidekiq") {}
|
275
|
+
expect(log).to contains_log(
|
276
|
+
:error,
|
277
|
+
"Unrecognized name 'unknown.sidekiq': names must start with either 'perform_job' " \
|
278
|
+
"(for jobs and tasks) or 'process_action' (for HTTP requests)"
|
279
|
+
)
|
280
|
+
end
|
281
|
+
end
|
261
282
|
end
|
262
283
|
|
263
284
|
describe ".listen_for_error" do
|
@@ -305,10 +326,15 @@ describe Appsignal do
|
|
305
326
|
end
|
306
327
|
|
307
328
|
context "with config and started" do
|
329
|
+
let(:log_stream) { StringIO.new }
|
330
|
+
let(:log) { log_contents(log_stream) }
|
308
331
|
before do
|
309
332
|
Appsignal.config = project_fixture_config
|
310
333
|
Appsignal.start
|
334
|
+
Appsignal.start_logger
|
335
|
+
Appsignal.logger = test_logger(log_stream)
|
311
336
|
end
|
337
|
+
after { Appsignal.logger = nil }
|
312
338
|
|
313
339
|
describe ".monitor_transaction" do
|
314
340
|
context "with a successful call" do
|
@@ -365,6 +391,23 @@ describe Appsignal do
|
|
365
391
|
end.to raise_error(error)
|
366
392
|
end
|
367
393
|
end
|
394
|
+
|
395
|
+
context "with an unknown event type" do
|
396
|
+
it "yields the given block" do
|
397
|
+
expect do |blk|
|
398
|
+
Appsignal.monitor_transaction("unknown.sidekiq", &blk)
|
399
|
+
end.to yield_control
|
400
|
+
end
|
401
|
+
|
402
|
+
it "logs an error" do
|
403
|
+
Appsignal.monitor_transaction("unknown.sidekiq") {}
|
404
|
+
expect(log).to contains_log(
|
405
|
+
:error,
|
406
|
+
"Unrecognized name 'unknown.sidekiq': names must start with either 'perform_job' " \
|
407
|
+
"(for jobs and tasks) or 'process_action' (for HTTP requests)"
|
408
|
+
)
|
409
|
+
end
|
410
|
+
end
|
368
411
|
end
|
369
412
|
|
370
413
|
describe ".monitor_single_transaction" do
|
@@ -614,8 +657,10 @@ describe Appsignal do
|
|
614
657
|
let(:error) { double }
|
615
658
|
|
616
659
|
it "logs an error message" do
|
617
|
-
expect(Appsignal.logger).to receive(:error)
|
618
|
-
.
|
660
|
+
expect(Appsignal.logger).to receive(:error).with(
|
661
|
+
"Appsignal.send_error: Cannot send error. " \
|
662
|
+
"The given value is not an exception: #{error.inspect}"
|
663
|
+
)
|
619
664
|
end
|
620
665
|
|
621
666
|
it "does not send the error" do
|
@@ -735,13 +780,19 @@ describe Appsignal do
|
|
735
780
|
Appsignal.set_error(error)
|
736
781
|
end
|
737
782
|
|
738
|
-
context "when the error is
|
739
|
-
|
783
|
+
context "when the error is not an Exception" do
|
784
|
+
let(:error) { Object.new }
|
785
|
+
|
786
|
+
it "logs an error" do
|
787
|
+
expect(Appsignal.logger).to receive(:error).with(
|
788
|
+
"Appsignal.set_error: Cannot set error. " \
|
789
|
+
"The given value is not an exception: #{error.inspect}"
|
790
|
+
)
|
740
791
|
expect(transaction).to_not receive(:set_error)
|
741
792
|
expect(transaction).to_not receive(:set_tags)
|
742
793
|
expect(transaction).to_not receive(:set_namespace)
|
743
794
|
|
744
|
-
Appsignal.set_error(
|
795
|
+
Appsignal.set_error(error)
|
745
796
|
end
|
746
797
|
end
|
747
798
|
|
@@ -0,0 +1,91 @@
|
|
1
|
+
RSpec.describe "Puma plugin" do
|
2
|
+
include WaitForHelper
|
3
|
+
|
4
|
+
class MockPumaLauncher
|
5
|
+
def events
|
6
|
+
return @events if defined?(@events)
|
7
|
+
|
8
|
+
@events = MockPumaEvents.new
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class MockPumaEvents
|
13
|
+
def on_booted(&block)
|
14
|
+
@on_booted = block if block_given?
|
15
|
+
@on_booted if defined?(@on_booted)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:probe) { MockProbe.new }
|
20
|
+
let(:launcher) { MockPumaLauncher.new }
|
21
|
+
before do
|
22
|
+
module Puma
|
23
|
+
def self.stats
|
24
|
+
end
|
25
|
+
|
26
|
+
class Plugin
|
27
|
+
class << self
|
28
|
+
attr_reader :plugin
|
29
|
+
|
30
|
+
def create(&block)
|
31
|
+
@plugin = Class.new(::Puma::Plugin)
|
32
|
+
@plugin.class_eval(&block)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
Appsignal::Minutely.probes.clear
|
39
|
+
ENV["APPSIGNAL_ENABLE_MINUTELY_PROBES"] = "true"
|
40
|
+
Appsignal.config = project_fixture_config
|
41
|
+
# Speed up test time
|
42
|
+
allow(Appsignal::Minutely).to receive(:initial_wait_time).and_return(0.001)
|
43
|
+
allow(Appsignal::Minutely).to receive(:wait_time).and_return(0.001)
|
44
|
+
|
45
|
+
Appsignal::Minutely.probes.register :my_probe, probe
|
46
|
+
load File.expand_path("../lib/puma/plugin/appsignal.rb", APPSIGNAL_SPEC_DIR)
|
47
|
+
end
|
48
|
+
after do
|
49
|
+
Appsignal.config = nil
|
50
|
+
Object.send :remove_const, :Puma
|
51
|
+
Object.send :remove_const, :APPSIGNAL_PUMA_PLUGIN_LOADED
|
52
|
+
end
|
53
|
+
|
54
|
+
it "registers the PumaProbe" do
|
55
|
+
expect(Appsignal::Minutely.probes[:my_probe]).to eql(probe)
|
56
|
+
expect(Appsignal::Minutely.probes[:puma]).to be_nil
|
57
|
+
plugin = Puma::Plugin.plugin.new
|
58
|
+
expect(launcher.events.on_booted).to be_nil
|
59
|
+
|
60
|
+
plugin.start(launcher)
|
61
|
+
expect(Appsignal::Minutely.probes[:puma]).to be_nil
|
62
|
+
expect(launcher.events.on_booted).to_not be_nil
|
63
|
+
|
64
|
+
launcher.events.on_booted.call
|
65
|
+
expect(Appsignal::Minutely.probes[:puma]).to eql(Appsignal::Hooks::PumaProbe)
|
66
|
+
|
67
|
+
# Minutely probes started and called
|
68
|
+
wait_for("enough probe calls") { probe.calls >= 2 }
|
69
|
+
end
|
70
|
+
|
71
|
+
context "without Puma.stats" do
|
72
|
+
before { Puma.singleton_class.send(:remove_method, :stats) }
|
73
|
+
|
74
|
+
it "does not register the PumaProbe" do
|
75
|
+
expect(Appsignal::Minutely.probes[:my_probe]).to eql(probe)
|
76
|
+
expect(Appsignal::Minutely.probes[:puma]).to be_nil
|
77
|
+
plugin = Puma::Plugin.plugin.new
|
78
|
+
expect(launcher.events.on_booted).to be_nil
|
79
|
+
|
80
|
+
plugin.start(launcher)
|
81
|
+
expect(Appsignal::Minutely.probes[:puma]).to be_nil
|
82
|
+
expect(launcher.events.on_booted).to_not be_nil
|
83
|
+
|
84
|
+
launcher.events.on_booted.call
|
85
|
+
expect(Appsignal::Minutely.probes[:puma]).to be_nil
|
86
|
+
|
87
|
+
# Minutely probes started and called
|
88
|
+
wait_for("enough probe calls") { probe.calls >= 2 }
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
File without changes
|
File without changes
|
data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/development.rb
RENAMED
File without changes
|
data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/production.rb
RENAMED
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module WaitForHelper
|
2
|
+
# Wait for a condition to be met
|
3
|
+
#
|
4
|
+
# @example
|
5
|
+
# # Perform threaded operation
|
6
|
+
# wait_for("enough probe calls") { probe.calls >= 2 }
|
7
|
+
# # Assert on result
|
8
|
+
#
|
9
|
+
# @param name [String] The name of the condition to check. Used in the
|
10
|
+
# error when it fails.
|
11
|
+
# @yield Assertion to check.
|
12
|
+
# @yieldreturn [Boolean] True/False value that indicates if the condition
|
13
|
+
# is met.
|
14
|
+
# @raise [StandardError] Raises error if the condition is not met after 5
|
15
|
+
# seconds, 5_000 tries.
|
16
|
+
def wait_for(name)
|
17
|
+
max_wait = 5_000
|
18
|
+
i = 0
|
19
|
+
while i <= max_wait
|
20
|
+
break if yield
|
21
|
+
i += 1
|
22
|
+
sleep 0.001
|
23
|
+
end
|
24
|
+
|
25
|
+
return unless i == max_wait
|
26
|
+
raise "Waited 5 seconds for #{name} condition, but was not met."
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appsignal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.9.
|
4
|
+
version: 2.9.18.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Beekman
|
8
8
|
- Thijs Cadier
|
9
|
+
- Tom de Bruijn
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2019-
|
13
|
+
date: 2019-11-18 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rack
|
@@ -45,14 +46,14 @@ dependencies:
|
|
45
46
|
requirements:
|
46
47
|
- - "~>"
|
47
48
|
- !ruby/object:Gem::Version
|
48
|
-
version: '3.
|
49
|
+
version: '3.8'
|
49
50
|
type: :development
|
50
51
|
prerelease: false
|
51
52
|
version_requirements: !ruby/object:Gem::Requirement
|
52
53
|
requirements:
|
53
54
|
- - "~>"
|
54
55
|
- !ruby/object:Gem::Version
|
55
|
-
version: '3.
|
56
|
+
version: '3.8'
|
56
57
|
- !ruby/object:Gem::Dependency
|
57
58
|
name: pry
|
58
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,14 +116,14 @@ dependencies:
|
|
115
116
|
requirements:
|
116
117
|
- - ">="
|
117
118
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
119
|
+
version: 0.9.20
|
119
120
|
type: :development
|
120
121
|
prerelease: false
|
121
122
|
version_requirements: !ruby/object:Gem::Requirement
|
122
123
|
requirements:
|
123
124
|
- - ">="
|
124
125
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
126
|
+
version: 0.9.20
|
126
127
|
description: The official appsignal.com gem
|
127
128
|
email:
|
128
129
|
- support@appsignal.com
|
@@ -132,6 +133,8 @@ extensions:
|
|
132
133
|
- ext/extconf.rb
|
133
134
|
extra_rdoc_files: []
|
134
135
|
files:
|
136
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
137
|
+
- ".github/ISSUE_TEMPLATE/chore.md"
|
135
138
|
- ".gitignore"
|
136
139
|
- ".rspec"
|
137
140
|
- ".rubocop.yml"
|
@@ -144,6 +147,7 @@ files:
|
|
144
147
|
- LICENSE
|
145
148
|
- README.md
|
146
149
|
- Rakefile
|
150
|
+
- SUPPORT.md
|
147
151
|
- appsignal.gemspec
|
148
152
|
- benchmark.rake
|
149
153
|
- bin/appsignal
|
@@ -159,6 +163,7 @@ files:
|
|
159
163
|
- gemfiles/no_dependencies.gemfile
|
160
164
|
- gemfiles/padrino.gemfile
|
161
165
|
- gemfiles/que.gemfile
|
166
|
+
- gemfiles/que_beta.gemfile
|
162
167
|
- gemfiles/rails-3.2.gemfile
|
163
168
|
- gemfiles/rails-4.0.gemfile
|
164
169
|
- gemfiles/rails-4.1.gemfile
|
@@ -250,6 +255,7 @@ files:
|
|
250
255
|
- lib/appsignal/utils/query_params_sanitizer.rb
|
251
256
|
- lib/appsignal/utils/rails_helper.rb
|
252
257
|
- lib/appsignal/version.rb
|
258
|
+
- lib/puma/plugin/appsignal.rb
|
253
259
|
- lib/sequel/extensions/appsignal_integration.rb
|
254
260
|
- resources/appsignal.yml.erb
|
255
261
|
- resources/cacert.pem
|
@@ -323,13 +329,15 @@ files:
|
|
323
329
|
- spec/lib/appsignal/utils/json_spec.rb
|
324
330
|
- spec/lib/appsignal/utils/query_params_sanitizer_spec.rb
|
325
331
|
- spec/lib/appsignal_spec.rb
|
332
|
+
- spec/lib/puma/appsignal_spec.rb
|
326
333
|
- spec/spec_helper.rb
|
327
|
-
- spec/support/fixtures/containers/cgroups/docker
|
328
|
-
- spec/support/fixtures/containers/cgroups/docker_systemd
|
329
|
-
- spec/support/fixtures/containers/cgroups/lxc
|
330
|
-
- spec/support/fixtures/containers/cgroups/no_permission
|
331
|
-
- spec/support/fixtures/containers/cgroups/none
|
332
334
|
- spec/support/fixtures/generated_config.yml
|
335
|
+
- spec/support/fixtures/projects/valid/config/application.rb
|
336
|
+
- spec/support/fixtures/projects/valid/config/appsignal.yml
|
337
|
+
- spec/support/fixtures/projects/valid/config/environments/development.rb
|
338
|
+
- spec/support/fixtures/projects/valid/config/environments/production.rb
|
339
|
+
- spec/support/fixtures/projects/valid/config/environments/test.rb
|
340
|
+
- spec/support/fixtures/projects/valid/log/.gitkeep
|
333
341
|
- spec/support/fixtures/uploaded_file.txt
|
334
342
|
- spec/support/helpers/api_request_helper.rb
|
335
343
|
- spec/support/helpers/cli_helpers.rb
|
@@ -344,15 +352,11 @@ files:
|
|
344
352
|
- spec/support/helpers/system_helpers.rb
|
345
353
|
- spec/support/helpers/time_helpers.rb
|
346
354
|
- spec/support/helpers/transaction_helpers.rb
|
355
|
+
- spec/support/helpers/wait_for_helper.rb
|
347
356
|
- spec/support/matchers/contains_log.rb
|
348
357
|
- spec/support/mocks/fake_gc_profiler.rb
|
349
358
|
- spec/support/mocks/mock_extension.rb
|
350
|
-
- spec/support/
|
351
|
-
- spec/support/project_fixture/config/appsignal.yml
|
352
|
-
- spec/support/project_fixture/config/environments/development.rb
|
353
|
-
- spec/support/project_fixture/config/environments/production.rb
|
354
|
-
- spec/support/project_fixture/config/environments/test.rb
|
355
|
-
- spec/support/project_fixture/log/.gitkeep
|
359
|
+
- spec/support/mocks/mock_probe.rb
|
356
360
|
- spec/support/rails/my_app.rb
|
357
361
|
- spec/support/shared_examples/instrument.rb
|
358
362
|
- spec/support/stubs/delayed_job.rb
|
@@ -362,7 +366,12 @@ files:
|
|
362
366
|
homepage: https://github.com/appsignal/appsignal-ruby
|
363
367
|
licenses:
|
364
368
|
- MIT
|
365
|
-
metadata:
|
369
|
+
metadata:
|
370
|
+
bug_tracker_uri: https://github.com/appsignal/appsignal-ruby/issues
|
371
|
+
changelog_uri: https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md
|
372
|
+
documentation_uri: https://docs.appsignal.com/ruby/
|
373
|
+
homepage_uri: https://docs.appsignal.com/ruby/
|
374
|
+
source_code_uri: https://github.com/appsignal/appsignal-ruby
|
366
375
|
post_install_message:
|
367
376
|
rdoc_options: []
|
368
377
|
require_paths:
|
@@ -379,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
379
388
|
- !ruby/object:Gem::Version
|
380
389
|
version: 1.3.1
|
381
390
|
requirements: []
|
382
|
-
rubygems_version: 3.0.
|
391
|
+
rubygems_version: 3.0.6
|
383
392
|
signing_key:
|
384
393
|
specification_version: 4
|
385
394
|
summary: Logs performance and exception data from your app to appsignal.com
|
@@ -454,13 +463,15 @@ test_files:
|
|
454
463
|
- spec/lib/appsignal/utils/json_spec.rb
|
455
464
|
- spec/lib/appsignal/utils/query_params_sanitizer_spec.rb
|
456
465
|
- spec/lib/appsignal_spec.rb
|
466
|
+
- spec/lib/puma/appsignal_spec.rb
|
457
467
|
- spec/spec_helper.rb
|
458
|
-
- spec/support/fixtures/containers/cgroups/docker
|
459
|
-
- spec/support/fixtures/containers/cgroups/docker_systemd
|
460
|
-
- spec/support/fixtures/containers/cgroups/lxc
|
461
|
-
- spec/support/fixtures/containers/cgroups/no_permission
|
462
|
-
- spec/support/fixtures/containers/cgroups/none
|
463
468
|
- spec/support/fixtures/generated_config.yml
|
469
|
+
- spec/support/fixtures/projects/valid/config/application.rb
|
470
|
+
- spec/support/fixtures/projects/valid/config/appsignal.yml
|
471
|
+
- spec/support/fixtures/projects/valid/config/environments/development.rb
|
472
|
+
- spec/support/fixtures/projects/valid/config/environments/production.rb
|
473
|
+
- spec/support/fixtures/projects/valid/config/environments/test.rb
|
474
|
+
- spec/support/fixtures/projects/valid/log/.gitkeep
|
464
475
|
- spec/support/fixtures/uploaded_file.txt
|
465
476
|
- spec/support/helpers/api_request_helper.rb
|
466
477
|
- spec/support/helpers/cli_helpers.rb
|
@@ -475,15 +486,11 @@ test_files:
|
|
475
486
|
- spec/support/helpers/system_helpers.rb
|
476
487
|
- spec/support/helpers/time_helpers.rb
|
477
488
|
- spec/support/helpers/transaction_helpers.rb
|
489
|
+
- spec/support/helpers/wait_for_helper.rb
|
478
490
|
- spec/support/matchers/contains_log.rb
|
479
491
|
- spec/support/mocks/fake_gc_profiler.rb
|
480
492
|
- spec/support/mocks/mock_extension.rb
|
481
|
-
- spec/support/
|
482
|
-
- spec/support/project_fixture/config/appsignal.yml
|
483
|
-
- spec/support/project_fixture/config/environments/development.rb
|
484
|
-
- spec/support/project_fixture/config/environments/production.rb
|
485
|
-
- spec/support/project_fixture/config/environments/test.rb
|
486
|
-
- spec/support/project_fixture/log/.gitkeep
|
493
|
+
- spec/support/mocks/mock_probe.rb
|
487
494
|
- spec/support/rails/my_app.rb
|
488
495
|
- spec/support/shared_examples/instrument.rb
|
489
496
|
- spec/support/stubs/delayed_job.rb
|