appsignal 2.11.10-java → 3.0.0.beta.1-java
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/.rubocop.yml +4 -1
- data/.semaphore/semaphore.yml +161 -70
- data/CHANGELOG.md +5 -18
- data/Rakefile +3 -13
- data/appsignal.gemspec +2 -24
- data/build_matrix.yml +20 -22
- data/gemfiles/capistrano2.gemfile +1 -0
- data/gemfiles/capistrano3.gemfile +1 -0
- data/gemfiles/grape.gemfile +1 -0
- data/gemfiles/no_dependencies.gemfile +1 -4
- data/gemfiles/rails-3.2.gemfile +0 -2
- data/gemfiles/rails-4.2.gemfile +0 -6
- data/gemfiles/resque-2.gemfile +4 -0
- data/gemfiles/sequel-435.gemfile +1 -0
- data/gemfiles/sequel.gemfile +1 -0
- data/gemfiles/sinatra.gemfile +1 -0
- data/lib/appsignal/auth_check.rb +2 -8
- data/lib/appsignal/cli.rb +1 -23
- data/lib/appsignal/config.rb +0 -24
- data/lib/appsignal/event_formatter.rb +0 -25
- data/lib/appsignal/extension.rb +0 -50
- data/lib/appsignal/hooks/action_cable.rb +5 -44
- data/lib/appsignal/hooks/active_support_notifications.rb +7 -86
- data/lib/appsignal/hooks/celluloid.rb +5 -9
- data/lib/appsignal/hooks/net_http.rb +2 -12
- data/lib/appsignal/hooks/puma.rb +3 -5
- data/lib/appsignal/hooks/que.rb +1 -1
- data/lib/appsignal/hooks/rake.rb +2 -24
- data/lib/appsignal/hooks/redis.rb +2 -13
- data/lib/appsignal/hooks/resque.rb +2 -43
- data/lib/appsignal/hooks/sidekiq.rb +1 -5
- data/lib/appsignal/hooks/unicorn.rb +3 -24
- data/lib/appsignal/hooks/webmachine.rb +1 -7
- data/lib/appsignal/hooks.rb +0 -23
- data/lib/appsignal/integrations/action_cable.rb +34 -0
- data/lib/appsignal/integrations/active_support_notifications.rb +77 -0
- data/lib/appsignal/integrations/net_http.rb +16 -0
- data/lib/appsignal/integrations/object.rb +61 -4
- data/lib/appsignal/integrations/padrino.rb +5 -7
- data/lib/appsignal/integrations/que.rb +26 -33
- data/lib/appsignal/integrations/railtie.rb +1 -4
- data/lib/appsignal/integrations/rake.rb +26 -2
- data/lib/appsignal/integrations/redis.rb +17 -0
- data/lib/appsignal/integrations/resque.rb +39 -10
- data/lib/appsignal/integrations/unicorn.rb +28 -0
- data/lib/appsignal/integrations/webmachine.rb +22 -24
- data/lib/appsignal/minutely.rb +0 -18
- data/lib/appsignal/transaction.rb +1 -1
- data/lib/appsignal/version.rb +1 -1
- data/lib/appsignal.rb +1 -27
- data/spec/lib/appsignal/auth_check_spec.rb +1 -24
- data/spec/lib/appsignal/cli_spec.rb +1 -1
- data/spec/lib/appsignal/config_spec.rb +0 -66
- data/spec/lib/appsignal/event_formatter_spec.rb +0 -37
- data/spec/lib/appsignal/extension_install_failure_spec.rb +7 -0
- data/spec/lib/appsignal/extension_spec.rb +9 -43
- data/spec/lib/appsignal/hooks/action_cable_spec.rb +0 -88
- data/spec/lib/appsignal/hooks/celluloid_spec.rb +6 -1
- data/spec/lib/appsignal/hooks/rake_spec.rb +1 -2
- data/spec/lib/appsignal/hooks/redis_spec.rb +50 -15
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +7 -61
- data/spec/lib/appsignal/hooks/unicorn_spec.rb +14 -3
- data/spec/lib/appsignal/hooks/webmachine_spec.rb +2 -13
- data/spec/lib/appsignal/hooks_spec.rb +0 -57
- data/spec/lib/appsignal/integrations/object_spec.rb +4 -95
- data/spec/lib/appsignal/integrations/padrino_spec.rb +2 -3
- data/spec/lib/appsignal/integrations/railtie_spec.rb +0 -45
- data/spec/lib/appsignal/integrations/webmachine_spec.rb +26 -8
- data/spec/lib/appsignal/minutely_spec.rb +0 -19
- data/spec/lib/appsignal/transaction_spec.rb +1 -31
- data/spec/lib/appsignal/transmitter_spec.rb +1 -1
- data/spec/lib/appsignal/utils/data_spec.rb +87 -133
- data/spec/lib/appsignal_spec.rb +0 -69
- data/spec/lib/puma/appsignal_spec.rb +0 -28
- data/spec/spec_helper.rb +1 -37
- data/spec/support/testing.rb +1 -11
- data/support/install_deps +0 -4
- metadata +10 -23
- data/lib/appsignal/cli/notify_of_deploy.rb +0 -131
- data/lib/appsignal/integrations/object_ruby_19.rb +0 -37
- data/lib/appsignal/integrations/object_ruby_modern.rb +0 -41
- data/lib/appsignal/integrations/resque_active_job.rb +0 -19
- data/lib/appsignal/js_exception_transaction.rb +0 -56
- data/lib/appsignal/rack/js_exception_catcher.rb +0 -80
- data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +0 -180
- data/spec/lib/appsignal/integrations/object_19_spec.rb +0 -266
- data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +0 -28
- data/spec/lib/appsignal/integrations/resque_spec.rb +0 -28
- data/spec/lib/appsignal/js_exception_transaction_spec.rb +0 -128
- data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +0 -170
|
@@ -4,156 +4,110 @@ describe Appsignal::Utils::Data do
|
|
|
4
4
|
describe ".generate" do
|
|
5
5
|
subject { Appsignal::Utils::Data.generate(body) }
|
|
6
6
|
|
|
7
|
-
context "
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
context "with a valid hash body" do
|
|
8
|
+
let(:body) do
|
|
9
|
+
{
|
|
10
|
+
"the" => "payload",
|
|
11
|
+
"int" => 1, # Fixnum
|
|
12
|
+
"int61" => 1 << 61, # Fixnum
|
|
13
|
+
"int62" => 1 << 62, # Bignum, this one still works
|
|
14
|
+
"int63" => 1 << 63, # Bignum, turnover point for C, too big for long
|
|
15
|
+
"int64" => 1 << 64, # Bignum
|
|
16
|
+
"float" => 1.0,
|
|
17
|
+
1 => true,
|
|
18
|
+
nil => "test",
|
|
19
|
+
:foo => [1, 2, "three", { "foo" => "bar" }],
|
|
20
|
+
"bar" => nil,
|
|
21
|
+
"baz" => { "foo" => "bʊr", "arr" => [1, 2] }
|
|
22
|
+
}
|
|
10
23
|
end
|
|
11
24
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
expect(subject.to_s).to
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
context "with an invalid body" do
|
|
31
|
-
let(:body) { "body" }
|
|
32
|
-
|
|
33
|
-
it "raise a type error" do
|
|
34
|
-
expect do
|
|
35
|
-
subject
|
|
36
|
-
end.to raise_error TypeError
|
|
25
|
+
it { is_expected.to eq Appsignal::Utils::Data.generate(body) }
|
|
26
|
+
it { is_expected.to_not eq Appsignal::Utils::Data.generate({}) }
|
|
27
|
+
|
|
28
|
+
describe "#to_s" do
|
|
29
|
+
it "returns a serialized hash" do
|
|
30
|
+
expect(subject.to_s).to eq %({"":"test",) +
|
|
31
|
+
%("1":true,) +
|
|
32
|
+
%("bar":null,) +
|
|
33
|
+
%("baz":{"arr":[1,2],"foo":"bʊr"},) +
|
|
34
|
+
%("float":1.0,) +
|
|
35
|
+
%("foo":[1,2,"three",{"foo":"bar"}],) +
|
|
36
|
+
%("int":1,) +
|
|
37
|
+
%("int61":#{1 << 61},) +
|
|
38
|
+
%("int62":#{1 << 62},) +
|
|
39
|
+
%("int63":"bigint:#{1 << 63}",) +
|
|
40
|
+
%("int64":"bigint:#{1 << 64}",) +
|
|
41
|
+
%("the":"payload"})
|
|
37
42
|
end
|
|
38
43
|
end
|
|
39
44
|
end
|
|
40
45
|
|
|
41
|
-
context "
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
%("float":1.0,) +
|
|
57
|
-
%("foo":[1,2,"three",{"foo":"bar"}],) +
|
|
58
|
-
%("int":1,) +
|
|
59
|
-
%("int61":#{1 << 61},) +
|
|
60
|
-
%("int62":#{1 << 62},) +
|
|
61
|
-
%("int63":"bigint:#{1 << 63}",) +
|
|
62
|
-
%("int64":"bigint:#{1 << 64}",) +
|
|
63
|
-
%("the":"payload"})
|
|
64
|
-
end
|
|
65
|
-
end
|
|
46
|
+
context "with a valid array body" do
|
|
47
|
+
let(:body) do
|
|
48
|
+
[
|
|
49
|
+
nil,
|
|
50
|
+
true,
|
|
51
|
+
false,
|
|
52
|
+
"string",
|
|
53
|
+
1, # Fixnum
|
|
54
|
+
1.0, # Float
|
|
55
|
+
1 << 61, # Fixnum
|
|
56
|
+
1 << 62, # Bignum, this one still works
|
|
57
|
+
1 << 63, # Bignum, turnover point for C, too big for long
|
|
58
|
+
1 << 64, # Bignum
|
|
59
|
+
{ "arr" => [1, 2, "three"], "foo" => "bʊr" }
|
|
60
|
+
]
|
|
66
61
|
end
|
|
67
62
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
%(#{1 << 61},) +
|
|
85
|
-
%(#{1 << 62},) +
|
|
86
|
-
%("bigint:#{1 << 63}",) +
|
|
87
|
-
%("bigint:#{1 << 64}",) +
|
|
88
|
-
%({\"arr\":[1,2,\"three\"],\"foo\":\"bʊr\"}])
|
|
89
|
-
end
|
|
63
|
+
it { is_expected.to eq Appsignal::Utils::Data.generate(body) }
|
|
64
|
+
it { is_expected.to_not eq Appsignal::Utils::Data.generate({}) }
|
|
65
|
+
|
|
66
|
+
describe "#to_s" do
|
|
67
|
+
it "returns a serialized array" do
|
|
68
|
+
expect(subject.to_s).to eq %([null,) +
|
|
69
|
+
%(true,) +
|
|
70
|
+
%(false,) +
|
|
71
|
+
%(\"string\",) +
|
|
72
|
+
%(1,) +
|
|
73
|
+
%(1.0,) +
|
|
74
|
+
%(#{1 << 61},) +
|
|
75
|
+
%(#{1 << 62},) +
|
|
76
|
+
%("bigint:#{1 << 63}",) +
|
|
77
|
+
%("bigint:#{1 << 64}",) +
|
|
78
|
+
%({\"arr\":[1,2,\"three\"],\"foo\":\"bʊr\"}])
|
|
90
79
|
end
|
|
91
80
|
end
|
|
81
|
+
end
|
|
92
82
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
83
|
+
context "with a body that contains strings with invalid utf-8 content" do
|
|
84
|
+
let(:string_with_invalid_utf8) { [0x61, 0x61, 0x85].pack("c*") }
|
|
85
|
+
let(:body) do
|
|
86
|
+
{
|
|
87
|
+
"field_one" => [0x61, 0x61].pack("c*"),
|
|
88
|
+
:field_two => string_with_invalid_utf8,
|
|
89
|
+
"field_three" => [
|
|
90
|
+
"one", string_with_invalid_utf8
|
|
91
|
+
],
|
|
92
|
+
"field_four" => {
|
|
93
|
+
"one" => string_with_invalid_utf8
|
|
105
94
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
describe "#to_s" do
|
|
109
|
-
it "returns a JSON representation in a String" do
|
|
110
|
-
expect(subject.to_s).to eq %({"field_four":{"one":"aa�"},"field_one":"aa","field_three":["one","aa�"],"field_two":"aa�"})
|
|
111
|
-
end
|
|
112
|
-
end
|
|
95
|
+
}
|
|
113
96
|
end
|
|
114
97
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
it "raises a type error" do
|
|
119
|
-
expect do
|
|
120
|
-
subject
|
|
121
|
-
end.to raise_error TypeError
|
|
122
|
-
end
|
|
98
|
+
describe "#to_s" do
|
|
99
|
+
it { expect(subject.to_s).to eq %({"field_four":{"one":"aa�"},"field_one":"aa","field_three":["one","aa�"],"field_two":"aa�"}) }
|
|
123
100
|
end
|
|
124
101
|
end
|
|
125
|
-
end
|
|
126
102
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
"the" => "payload",
|
|
130
|
-
"int" => 1, # Fixnum
|
|
131
|
-
"int61" => 1 << 61, # Fixnum
|
|
132
|
-
"int62" => 1 << 62, # Bignum, this one still works
|
|
133
|
-
"int63" => 1 << 63, # Bignum, turnover point for C, too big for long
|
|
134
|
-
"int64" => 1 << 64, # Bignum
|
|
135
|
-
"float" => 1.0,
|
|
136
|
-
1 => true,
|
|
137
|
-
nil => "test",
|
|
138
|
-
:foo => [1, 2, "three", { "foo" => "bar" }],
|
|
139
|
-
"bar" => nil,
|
|
140
|
-
"baz" => { "foo" => "bʊr", "arr" => [1, 2] }
|
|
141
|
-
}
|
|
142
|
-
end
|
|
103
|
+
context "with an invalid body" do
|
|
104
|
+
let(:body) { "body" }
|
|
143
105
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
1, # Fixnum
|
|
151
|
-
1.0, # Float
|
|
152
|
-
1 << 61, # Fixnum
|
|
153
|
-
1 << 62, # Bignum, this one still works
|
|
154
|
-
1 << 63, # Bignum, turnover point for C, too big for long
|
|
155
|
-
1 << 64, # Bignum
|
|
156
|
-
{ "arr" => [1, 2, "three"], "foo" => "bʊr" }
|
|
157
|
-
]
|
|
106
|
+
it "should raise a type error" do
|
|
107
|
+
expect do
|
|
108
|
+
subject
|
|
109
|
+
end.to raise_error TypeError
|
|
110
|
+
end
|
|
111
|
+
end
|
|
158
112
|
end
|
|
159
113
|
end
|
data/spec/lib/appsignal_spec.rb
CHANGED
|
@@ -63,11 +63,6 @@ describe Appsignal do
|
|
|
63
63
|
Appsignal.start
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
it "should load deprecated event formatters" do
|
|
67
|
-
expect(Appsignal::EventFormatter).to receive(:initialize_deprecated_formatters)
|
|
68
|
-
Appsignal.start
|
|
69
|
-
end
|
|
70
|
-
|
|
71
66
|
context "with an extension" do
|
|
72
67
|
before { Appsignal.extensions << Appsignal::MockExtension }
|
|
73
68
|
|
|
@@ -980,70 +975,6 @@ describe Appsignal do
|
|
|
980
975
|
end
|
|
981
976
|
end
|
|
982
977
|
end
|
|
983
|
-
|
|
984
|
-
describe ".is_ignored_error?" do
|
|
985
|
-
let(:error) { StandardError.new }
|
|
986
|
-
let(:err_stream) { std_stream }
|
|
987
|
-
let(:stderr) { err_stream.read }
|
|
988
|
-
before do
|
|
989
|
-
allow(Appsignal).to receive(:config).and_return(:ignore_errors => ["StandardError"])
|
|
990
|
-
end
|
|
991
|
-
|
|
992
|
-
subject do
|
|
993
|
-
capture_std_streams(std_stream, err_stream) do
|
|
994
|
-
Appsignal.is_ignored_error?(error)
|
|
995
|
-
end
|
|
996
|
-
end
|
|
997
|
-
|
|
998
|
-
it "should return true if it's in the ignored list" do
|
|
999
|
-
is_expected.to be_truthy
|
|
1000
|
-
end
|
|
1001
|
-
|
|
1002
|
-
it "outputs deprecated warning" do
|
|
1003
|
-
subject
|
|
1004
|
-
expect(stderr).to include("Appsignal.is_ignored_error? is deprecated with no replacement")
|
|
1005
|
-
end
|
|
1006
|
-
|
|
1007
|
-
context "when error is not in the ignored list" do
|
|
1008
|
-
let(:error) { Object.new }
|
|
1009
|
-
|
|
1010
|
-
it "should return false" do
|
|
1011
|
-
is_expected.to be_falsy
|
|
1012
|
-
end
|
|
1013
|
-
end
|
|
1014
|
-
end
|
|
1015
|
-
|
|
1016
|
-
describe ".is_ignored_action?" do
|
|
1017
|
-
let(:action) { "TestController#isup" }
|
|
1018
|
-
let(:err_stream) { std_stream }
|
|
1019
|
-
let(:stderr) { err_stream.read }
|
|
1020
|
-
before do
|
|
1021
|
-
allow(Appsignal).to receive(:config).and_return(:ignore_actions => "TestController#isup")
|
|
1022
|
-
end
|
|
1023
|
-
|
|
1024
|
-
subject do
|
|
1025
|
-
capture_std_streams(std_stream, err_stream) do
|
|
1026
|
-
Appsignal.is_ignored_action?(action)
|
|
1027
|
-
end
|
|
1028
|
-
end
|
|
1029
|
-
|
|
1030
|
-
it "should return true if it's in the ignored list" do
|
|
1031
|
-
is_expected.to be_truthy
|
|
1032
|
-
end
|
|
1033
|
-
|
|
1034
|
-
it "outputs deprecated warning" do
|
|
1035
|
-
subject
|
|
1036
|
-
expect(stderr).to include("Appsignal.is_ignored_action? is deprecated with no replacement")
|
|
1037
|
-
end
|
|
1038
|
-
|
|
1039
|
-
context "when action is not in the ingore list" do
|
|
1040
|
-
let(:action) { "TestController#other_action" }
|
|
1041
|
-
|
|
1042
|
-
it "should return false" do
|
|
1043
|
-
is_expected.to be_falsy
|
|
1044
|
-
end
|
|
1045
|
-
end
|
|
1046
|
-
end
|
|
1047
978
|
end
|
|
1048
979
|
|
|
1049
980
|
describe ".start_logger" do
|
|
@@ -23,27 +23,6 @@ RSpec.describe "Puma plugin" do
|
|
|
23
23
|
def self.stats
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
def self.run
|
|
27
|
-
# Capture threads running before application is preloaded
|
|
28
|
-
before = Thread.list.reject { |t| t.thread_variable_get(:fork_safe) }
|
|
29
|
-
|
|
30
|
-
# An abbreviated version of what happens in Puma::Cluster#run
|
|
31
|
-
launcher = MockPumaLauncher.new
|
|
32
|
-
plugin = Plugin.plugin.new
|
|
33
|
-
plugin.start(launcher)
|
|
34
|
-
launcher.events.on_booted.call
|
|
35
|
-
|
|
36
|
-
# Wait for minutely probe thread to finish starting
|
|
37
|
-
sleep 0.005
|
|
38
|
-
|
|
39
|
-
# Capture any new threads running after application is preloaded.
|
|
40
|
-
# Any threads created during the preloading phase will not be
|
|
41
|
-
# carried over into the forked workers. Puma warns about these
|
|
42
|
-
# but the minutely probe thread should only exist in the main process.
|
|
43
|
-
after = Thread.list.reject { |t| t.thread_variable_get(:fork_safe) }
|
|
44
|
-
$stdout.puts "! WARNING: Detected #{after.size - before.size} Thread(s) started in app boot" if after.size > before.size
|
|
45
|
-
end
|
|
46
|
-
|
|
47
26
|
class Plugin
|
|
48
27
|
class << self
|
|
49
28
|
attr_reader :plugin
|
|
@@ -89,13 +68,6 @@ RSpec.describe "Puma plugin" do
|
|
|
89
68
|
wait_for("enough probe calls") { probe.calls >= 2 }
|
|
90
69
|
end
|
|
91
70
|
|
|
92
|
-
it "marks the PumaProbe thread as fork-safe", :not_ruby19 do
|
|
93
|
-
out_stream = std_stream
|
|
94
|
-
capture_stdout(out_stream) { Puma.run }
|
|
95
|
-
|
|
96
|
-
expect(out_stream.read).not_to include("WARNING: Detected 1 Thread")
|
|
97
|
-
end
|
|
98
|
-
|
|
99
71
|
context "without Puma.stats" do
|
|
100
72
|
before { Puma.singleton_class.send(:remove_method, :stats) }
|
|
101
73
|
|
data/spec/spec_helper.rb
CHANGED
|
@@ -2,7 +2,7 @@ ENV["RAILS_ENV"] ||= "test"
|
|
|
2
2
|
ENV["RACK_ENV"] ||= "test"
|
|
3
3
|
ENV["PADRINO_ENV"] ||= "test"
|
|
4
4
|
|
|
5
|
-
APPSIGNAL_SPEC_DIR = File.expand_path(
|
|
5
|
+
APPSIGNAL_SPEC_DIR = File.expand_path(__dir__)
|
|
6
6
|
$LOAD_PATH.unshift(File.join(APPSIGNAL_SPEC_DIR, "support/stubs"))
|
|
7
7
|
|
|
8
8
|
Bundler.require :default
|
|
@@ -85,20 +85,6 @@ RSpec.configure do |config|
|
|
|
85
85
|
FileUtils.mkdir_p(spec_system_tmp_dir)
|
|
86
86
|
end
|
|
87
87
|
|
|
88
|
-
config.before :each, :only_ruby19 => true do
|
|
89
|
-
is_ruby19 = Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.0.0")
|
|
90
|
-
next if is_ruby19
|
|
91
|
-
|
|
92
|
-
skip "Skipping spec. Only for Ruby 1.9"
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
config.before :each, :not_ruby19 => true do
|
|
96
|
-
is_ruby19 = Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.0.0")
|
|
97
|
-
next unless is_ruby19
|
|
98
|
-
|
|
99
|
-
skip "Skipping spec for Ruby 1.9"
|
|
100
|
-
end
|
|
101
|
-
|
|
102
88
|
config.before do
|
|
103
89
|
stop_minutely_probes
|
|
104
90
|
ENV["RAILS_ENV"] ||= "test"
|
|
@@ -131,28 +117,6 @@ RSpec.configure do |config|
|
|
|
131
117
|
allow(Appsignal::Config).to receive(:system_tmp_dir).and_return(spec_system_tmp_dir)
|
|
132
118
|
end
|
|
133
119
|
|
|
134
|
-
# These tests are not run by default. They require a failed extension
|
|
135
|
-
# installation. See the `rake test:failure` task. If a test with this tag was
|
|
136
|
-
# run, run `rake extension:install` again to fix the extension installation
|
|
137
|
-
# before running other tests.
|
|
138
|
-
config.before :extension_installation_failure => true do
|
|
139
|
-
next unless Appsignal.extension_loaded?
|
|
140
|
-
|
|
141
|
-
raise "Extension is loaded, please run the following task and rerun the test." \
|
|
142
|
-
"\n\n rake test:prepare_failure"
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
# Check to see if the extension is loaded before running the specs. If the
|
|
146
|
-
# extension is not loaded it can result in unexpected behavior.
|
|
147
|
-
config.before do |example|
|
|
148
|
-
next if Appsignal.extension_loaded?
|
|
149
|
-
next if example.metadata[:extension_installation_failure]
|
|
150
|
-
|
|
151
|
-
puts "\nWARNING: The AppSignal extension is not loaded, please run the "\
|
|
152
|
-
"following task and rerun the test." \
|
|
153
|
-
"\n\n rake extension:install\n"
|
|
154
|
-
end
|
|
155
|
-
|
|
156
120
|
config.after do
|
|
157
121
|
Appsignal::Testing.clear!
|
|
158
122
|
clear_current_transaction!
|
data/spec/support/testing.rb
CHANGED
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
module Appsignal
|
|
2
2
|
class << self
|
|
3
|
-
attr_writer :testing
|
|
4
3
|
remove_method :testing?
|
|
5
4
|
|
|
6
5
|
# @api private
|
|
7
6
|
def testing?
|
|
8
|
-
|
|
9
|
-
@testing
|
|
7
|
+
true
|
|
10
8
|
end
|
|
11
9
|
end
|
|
12
10
|
|
|
13
11
|
# @api private
|
|
14
12
|
module Testing
|
|
15
13
|
class << self
|
|
16
|
-
def without_testing
|
|
17
|
-
original_testing = Appsignal.testing?
|
|
18
|
-
Appsignal.testing = false
|
|
19
|
-
yield
|
|
20
|
-
ensure
|
|
21
|
-
Appsignal.testing = original_testing
|
|
22
|
-
end
|
|
23
|
-
|
|
24
14
|
def transactions
|
|
25
15
|
@transactions ||= []
|
|
26
16
|
end
|
data/support/install_deps
CHANGED
|
@@ -9,22 +9,18 @@ fi
|
|
|
9
9
|
|
|
10
10
|
case "${_RUBYGEMS_VERSION-"latest"}" in
|
|
11
11
|
"latest")
|
|
12
|
-
echo "Updating rubygems"
|
|
13
12
|
gem update $gem_args --system
|
|
14
13
|
;;
|
|
15
14
|
*)
|
|
16
|
-
echo "Updating rubygems to $_RUBYGEMS_VERSION}"
|
|
17
15
|
gem update $gem_args --system $_RUBYGEMS_VERSION
|
|
18
16
|
;;
|
|
19
17
|
esac
|
|
20
18
|
|
|
21
19
|
case "${_BUNDLER_VERSION-"latest"}" in
|
|
22
20
|
"latest")
|
|
23
|
-
echo "Updating bundler"
|
|
24
21
|
gem update bundler $gem_args
|
|
25
22
|
;;
|
|
26
23
|
*)
|
|
27
|
-
echo "Updating bundler to $_BUNDLER_VERSION"
|
|
28
24
|
gem install bundler $gem_args --version $_BUNDLER_VERSION
|
|
29
25
|
;;
|
|
30
26
|
esac
|
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:
|
|
4
|
+
version: 3.0.0.beta.1
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Beekman
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2021-
|
|
13
|
+
date: 2021-01-28 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rack
|
|
@@ -202,7 +202,6 @@ files:
|
|
|
202
202
|
- lib/appsignal/cli/diagnose/utils.rb
|
|
203
203
|
- lib/appsignal/cli/helpers.rb
|
|
204
204
|
- lib/appsignal/cli/install.rb
|
|
205
|
-
- lib/appsignal/cli/notify_of_deploy.rb
|
|
206
205
|
- lib/appsignal/config.rb
|
|
207
206
|
- lib/appsignal/demo.rb
|
|
208
207
|
- lib/appsignal/environment.rb
|
|
@@ -240,24 +239,25 @@ files:
|
|
|
240
239
|
- lib/appsignal/hooks/sidekiq.rb
|
|
241
240
|
- lib/appsignal/hooks/unicorn.rb
|
|
242
241
|
- lib/appsignal/hooks/webmachine.rb
|
|
242
|
+
- lib/appsignal/integrations/action_cable.rb
|
|
243
|
+
- lib/appsignal/integrations/active_support_notifications.rb
|
|
243
244
|
- lib/appsignal/integrations/capistrano/appsignal.cap
|
|
244
245
|
- lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb
|
|
245
246
|
- lib/appsignal/integrations/data_mapper.rb
|
|
246
247
|
- lib/appsignal/integrations/delayed_job_plugin.rb
|
|
247
248
|
- lib/appsignal/integrations/grape.rb
|
|
248
249
|
- lib/appsignal/integrations/mongo_ruby_driver.rb
|
|
250
|
+
- lib/appsignal/integrations/net_http.rb
|
|
249
251
|
- lib/appsignal/integrations/object.rb
|
|
250
|
-
- lib/appsignal/integrations/object_ruby_19.rb
|
|
251
|
-
- lib/appsignal/integrations/object_ruby_modern.rb
|
|
252
252
|
- lib/appsignal/integrations/padrino.rb
|
|
253
253
|
- lib/appsignal/integrations/que.rb
|
|
254
254
|
- lib/appsignal/integrations/railtie.rb
|
|
255
255
|
- lib/appsignal/integrations/rake.rb
|
|
256
|
+
- lib/appsignal/integrations/redis.rb
|
|
256
257
|
- lib/appsignal/integrations/resque.rb
|
|
257
|
-
- lib/appsignal/integrations/resque_active_job.rb
|
|
258
258
|
- lib/appsignal/integrations/sinatra.rb
|
|
259
|
+
- lib/appsignal/integrations/unicorn.rb
|
|
259
260
|
- lib/appsignal/integrations/webmachine.rb
|
|
260
|
-
- lib/appsignal/js_exception_transaction.rb
|
|
261
261
|
- lib/appsignal/logger.rb
|
|
262
262
|
- lib/appsignal/marker.rb
|
|
263
263
|
- lib/appsignal/minutely.rb
|
|
@@ -265,7 +265,6 @@ files:
|
|
|
265
265
|
- lib/appsignal/probes/puma.rb
|
|
266
266
|
- lib/appsignal/probes/sidekiq.rb
|
|
267
267
|
- lib/appsignal/rack/generic_instrumentation.rb
|
|
268
|
-
- lib/appsignal/rack/js_exception_catcher.rb
|
|
269
268
|
- lib/appsignal/rack/rails_instrumentation.rb
|
|
270
269
|
- lib/appsignal/rack/sinatra_instrumentation.rb
|
|
271
270
|
- lib/appsignal/rack/streaming_listener.rb
|
|
@@ -294,7 +293,6 @@ files:
|
|
|
294
293
|
- spec/lib/appsignal/cli/diagnose_spec.rb
|
|
295
294
|
- spec/lib/appsignal/cli/helpers_spec.rb
|
|
296
295
|
- spec/lib/appsignal/cli/install_spec.rb
|
|
297
|
-
- spec/lib/appsignal/cli/notify_of_deploy_spec.rb
|
|
298
296
|
- spec/lib/appsignal/cli_spec.rb
|
|
299
297
|
- spec/lib/appsignal/config_spec.rb
|
|
300
298
|
- spec/lib/appsignal/demo_spec.rb
|
|
@@ -338,23 +336,18 @@ files:
|
|
|
338
336
|
- spec/lib/appsignal/integrations/data_mapper_spec.rb
|
|
339
337
|
- spec/lib/appsignal/integrations/grape_spec.rb
|
|
340
338
|
- spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
|
|
341
|
-
- spec/lib/appsignal/integrations/object_19_spec.rb
|
|
342
339
|
- spec/lib/appsignal/integrations/object_spec.rb
|
|
343
340
|
- spec/lib/appsignal/integrations/padrino_spec.rb
|
|
344
341
|
- spec/lib/appsignal/integrations/que_spec.rb
|
|
345
342
|
- spec/lib/appsignal/integrations/railtie_spec.rb
|
|
346
|
-
- spec/lib/appsignal/integrations/resque_active_job_spec.rb
|
|
347
|
-
- spec/lib/appsignal/integrations/resque_spec.rb
|
|
348
343
|
- spec/lib/appsignal/integrations/sinatra_spec.rb
|
|
349
344
|
- spec/lib/appsignal/integrations/webmachine_spec.rb
|
|
350
|
-
- spec/lib/appsignal/js_exception_transaction_spec.rb
|
|
351
345
|
- spec/lib/appsignal/logger_spec.rb
|
|
352
346
|
- spec/lib/appsignal/marker_spec.rb
|
|
353
347
|
- spec/lib/appsignal/minutely_spec.rb
|
|
354
348
|
- spec/lib/appsignal/probes/puma_spec.rb
|
|
355
349
|
- spec/lib/appsignal/probes/sidekiq_spec.rb
|
|
356
350
|
- spec/lib/appsignal/rack/generic_instrumentation_spec.rb
|
|
357
|
-
- spec/lib/appsignal/rack/js_exception_catcher_spec.rb
|
|
358
351
|
- spec/lib/appsignal/rack/rails_instrumentation_spec.rb
|
|
359
352
|
- spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
|
|
360
353
|
- spec/lib/appsignal/rack/streaming_listener_spec.rb
|
|
@@ -428,11 +421,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
428
421
|
version: '1.9'
|
|
429
422
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
430
423
|
requirements:
|
|
431
|
-
- - "
|
|
424
|
+
- - ">"
|
|
432
425
|
- !ruby/object:Gem::Version
|
|
433
|
-
version:
|
|
426
|
+
version: 1.3.1
|
|
434
427
|
requirements: []
|
|
435
|
-
rubygems_version: 3.2.
|
|
428
|
+
rubygems_version: 3.2.6
|
|
436
429
|
signing_key:
|
|
437
430
|
specification_version: 4
|
|
438
431
|
summary: Logs performance and exception data from your app to appsignal.com
|
|
@@ -447,7 +440,6 @@ test_files:
|
|
|
447
440
|
- spec/lib/appsignal/cli/diagnose_spec.rb
|
|
448
441
|
- spec/lib/appsignal/cli/helpers_spec.rb
|
|
449
442
|
- spec/lib/appsignal/cli/install_spec.rb
|
|
450
|
-
- spec/lib/appsignal/cli/notify_of_deploy_spec.rb
|
|
451
443
|
- spec/lib/appsignal/cli_spec.rb
|
|
452
444
|
- spec/lib/appsignal/config_spec.rb
|
|
453
445
|
- spec/lib/appsignal/demo_spec.rb
|
|
@@ -491,23 +483,18 @@ test_files:
|
|
|
491
483
|
- spec/lib/appsignal/integrations/data_mapper_spec.rb
|
|
492
484
|
- spec/lib/appsignal/integrations/grape_spec.rb
|
|
493
485
|
- spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
|
|
494
|
-
- spec/lib/appsignal/integrations/object_19_spec.rb
|
|
495
486
|
- spec/lib/appsignal/integrations/object_spec.rb
|
|
496
487
|
- spec/lib/appsignal/integrations/padrino_spec.rb
|
|
497
488
|
- spec/lib/appsignal/integrations/que_spec.rb
|
|
498
489
|
- spec/lib/appsignal/integrations/railtie_spec.rb
|
|
499
|
-
- spec/lib/appsignal/integrations/resque_active_job_spec.rb
|
|
500
|
-
- spec/lib/appsignal/integrations/resque_spec.rb
|
|
501
490
|
- spec/lib/appsignal/integrations/sinatra_spec.rb
|
|
502
491
|
- spec/lib/appsignal/integrations/webmachine_spec.rb
|
|
503
|
-
- spec/lib/appsignal/js_exception_transaction_spec.rb
|
|
504
492
|
- spec/lib/appsignal/logger_spec.rb
|
|
505
493
|
- spec/lib/appsignal/marker_spec.rb
|
|
506
494
|
- spec/lib/appsignal/minutely_spec.rb
|
|
507
495
|
- spec/lib/appsignal/probes/puma_spec.rb
|
|
508
496
|
- spec/lib/appsignal/probes/sidekiq_spec.rb
|
|
509
497
|
- spec/lib/appsignal/rack/generic_instrumentation_spec.rb
|
|
510
|
-
- spec/lib/appsignal/rack/js_exception_catcher_spec.rb
|
|
511
498
|
- spec/lib/appsignal/rack/rails_instrumentation_spec.rb
|
|
512
499
|
- spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
|
|
513
500
|
- spec/lib/appsignal/rack/streaming_listener_spec.rb
|