appsignal 2.11.10 → 3.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -1
  3. data/.semaphore/semaphore.yml +161 -70
  4. data/CHANGELOG.md +5 -18
  5. data/Rakefile +3 -13
  6. data/appsignal.gemspec +2 -24
  7. data/build_matrix.yml +20 -22
  8. data/gemfiles/capistrano2.gemfile +1 -0
  9. data/gemfiles/capistrano3.gemfile +1 -0
  10. data/gemfiles/grape.gemfile +1 -0
  11. data/gemfiles/no_dependencies.gemfile +1 -4
  12. data/gemfiles/rails-3.2.gemfile +0 -2
  13. data/gemfiles/rails-4.2.gemfile +0 -6
  14. data/gemfiles/resque-2.gemfile +4 -0
  15. data/gemfiles/sequel-435.gemfile +1 -0
  16. data/gemfiles/sequel.gemfile +1 -0
  17. data/gemfiles/sinatra.gemfile +1 -0
  18. data/lib/appsignal/auth_check.rb +2 -8
  19. data/lib/appsignal/cli.rb +1 -23
  20. data/lib/appsignal/config.rb +0 -24
  21. data/lib/appsignal/event_formatter.rb +0 -25
  22. data/lib/appsignal/extension.rb +0 -50
  23. data/lib/appsignal/hooks/action_cable.rb +5 -44
  24. data/lib/appsignal/hooks/active_support_notifications.rb +7 -86
  25. data/lib/appsignal/hooks/celluloid.rb +5 -9
  26. data/lib/appsignal/hooks/net_http.rb +2 -12
  27. data/lib/appsignal/hooks/puma.rb +3 -5
  28. data/lib/appsignal/hooks/que.rb +1 -1
  29. data/lib/appsignal/hooks/rake.rb +2 -24
  30. data/lib/appsignal/hooks/redis.rb +2 -13
  31. data/lib/appsignal/hooks/resque.rb +2 -43
  32. data/lib/appsignal/hooks/sidekiq.rb +1 -5
  33. data/lib/appsignal/hooks/unicorn.rb +3 -24
  34. data/lib/appsignal/hooks/webmachine.rb +1 -7
  35. data/lib/appsignal/hooks.rb +0 -23
  36. data/lib/appsignal/integrations/action_cable.rb +34 -0
  37. data/lib/appsignal/integrations/active_support_notifications.rb +77 -0
  38. data/lib/appsignal/integrations/net_http.rb +16 -0
  39. data/lib/appsignal/integrations/object.rb +61 -4
  40. data/lib/appsignal/integrations/padrino.rb +5 -7
  41. data/lib/appsignal/integrations/que.rb +26 -33
  42. data/lib/appsignal/integrations/railtie.rb +1 -4
  43. data/lib/appsignal/integrations/rake.rb +26 -2
  44. data/lib/appsignal/integrations/redis.rb +17 -0
  45. data/lib/appsignal/integrations/resque.rb +39 -10
  46. data/lib/appsignal/integrations/unicorn.rb +28 -0
  47. data/lib/appsignal/integrations/webmachine.rb +22 -24
  48. data/lib/appsignal/minutely.rb +0 -18
  49. data/lib/appsignal/transaction.rb +1 -1
  50. data/lib/appsignal/version.rb +1 -1
  51. data/lib/appsignal.rb +1 -27
  52. data/spec/lib/appsignal/auth_check_spec.rb +1 -24
  53. data/spec/lib/appsignal/cli_spec.rb +1 -1
  54. data/spec/lib/appsignal/config_spec.rb +0 -66
  55. data/spec/lib/appsignal/event_formatter_spec.rb +0 -37
  56. data/spec/lib/appsignal/extension_install_failure_spec.rb +7 -0
  57. data/spec/lib/appsignal/extension_spec.rb +9 -43
  58. data/spec/lib/appsignal/hooks/action_cable_spec.rb +0 -88
  59. data/spec/lib/appsignal/hooks/celluloid_spec.rb +6 -1
  60. data/spec/lib/appsignal/hooks/rake_spec.rb +1 -2
  61. data/spec/lib/appsignal/hooks/redis_spec.rb +50 -15
  62. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +7 -61
  63. data/spec/lib/appsignal/hooks/unicorn_spec.rb +14 -3
  64. data/spec/lib/appsignal/hooks/webmachine_spec.rb +2 -13
  65. data/spec/lib/appsignal/hooks_spec.rb +0 -57
  66. data/spec/lib/appsignal/integrations/object_spec.rb +4 -95
  67. data/spec/lib/appsignal/integrations/padrino_spec.rb +2 -3
  68. data/spec/lib/appsignal/integrations/railtie_spec.rb +0 -45
  69. data/spec/lib/appsignal/integrations/webmachine_spec.rb +26 -8
  70. data/spec/lib/appsignal/minutely_spec.rb +0 -19
  71. data/spec/lib/appsignal/transaction_spec.rb +1 -31
  72. data/spec/lib/appsignal/transmitter_spec.rb +1 -1
  73. data/spec/lib/appsignal/utils/data_spec.rb +87 -133
  74. data/spec/lib/appsignal_spec.rb +0 -69
  75. data/spec/lib/puma/appsignal_spec.rb +0 -28
  76. data/spec/spec_helper.rb +1 -37
  77. data/spec/support/testing.rb +1 -11
  78. data/support/install_deps +0 -4
  79. metadata +10 -23
  80. data/lib/appsignal/cli/notify_of_deploy.rb +0 -131
  81. data/lib/appsignal/integrations/object_ruby_19.rb +0 -37
  82. data/lib/appsignal/integrations/object_ruby_modern.rb +0 -41
  83. data/lib/appsignal/integrations/resque_active_job.rb +0 -19
  84. data/lib/appsignal/js_exception_transaction.rb +0 -56
  85. data/lib/appsignal/rack/js_exception_catcher.rb +0 -80
  86. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +0 -180
  87. data/spec/lib/appsignal/integrations/object_19_spec.rb +0 -266
  88. data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +0 -28
  89. data/spec/lib/appsignal/integrations/resque_spec.rb +0 -28
  90. data/spec/lib/appsignal/js_exception_transaction_spec.rb +0 -128
  91. 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 "when extension is not loaded", :extension_installation_failure do
8
- around do |example|
9
- Appsignal::Testing.without_testing { example.run }
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
- context "with valid hash body" do
13
- let(:body) { hash_body }
14
-
15
- it "does not error and returns MockData class" do
16
- expect(subject).to be_kind_of(Appsignal::Extension::MockData)
17
- expect(subject.to_s).to eql("{}")
18
- end
19
- end
20
-
21
- context "with valid array body" do
22
- let(:body) { array_body }
23
-
24
- it "does not error and returns MockData class" do
25
- expect(subject).to be_kind_of(Appsignal::Extension::MockData)
26
- expect(subject.to_s).to eql("{}")
27
- end
28
- end
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 "when extension is loaded" do
42
- context "with a valid hash body" do
43
- let(:body) { hash_body }
44
-
45
- it "returns a valid Data object" do
46
- is_expected.to eq Appsignal::Utils::Data.generate(body)
47
- is_expected.to_not eq Appsignal::Utils::Data.generate({})
48
- end
49
-
50
- describe "#to_s" do
51
- it "returns a serialized hash" do
52
- expect(subject.to_s).to eq %({"":"test",) +
53
- %("1":true,) +
54
- %("bar":null,) +
55
- %("baz":{"arr":[1,2],"foo":"bʊr"},) +
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
- context "with a valid array body" do
69
- let(:body) { array_body }
70
-
71
- it "returns a valid Data object" do
72
- is_expected.to eq Appsignal::Utils::Data.generate(body)
73
- is_expected.to_not eq Appsignal::Utils::Data.generate({})
74
- end
75
-
76
- describe "#to_s" do
77
- it "returns a serialized array" do
78
- expect(subject.to_s).to eq %([null,) +
79
- %(true,) +
80
- %(false,) +
81
- %(\"string\",) +
82
- %(1,) +
83
- %(1.0,) +
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
- context "with a body that contains strings with invalid utf-8 content" do
94
- let(:string_with_invalid_utf8) { [0x61, 0x61, 0x85].pack("c*") }
95
- let(:body) do
96
- {
97
- "field_one" => [0x61, 0x61].pack("c*"),
98
- :field_two => string_with_invalid_utf8,
99
- "field_three" => [
100
- "one", string_with_invalid_utf8
101
- ],
102
- "field_four" => {
103
- "one" => string_with_invalid_utf8
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
- end
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
- context "with an invalid body" do
116
- let(:body) { "body" }
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
- def hash_body
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
- def array_body
145
- [
146
- nil,
147
- true,
148
- false,
149
- "string",
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
@@ -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(File.dirname(__FILE__))
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!
@@ -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
- @testing = true unless defined?(@testing)
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: 2.11.10
4
+ version: 3.0.0.beta.1
5
5
  platform: ruby
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-07-05 00:00:00.000000000 Z
13
+ date: 2021-01-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -188,7 +188,6 @@ files:
188
188
  - lib/appsignal/cli/diagnose/utils.rb
189
189
  - lib/appsignal/cli/helpers.rb
190
190
  - lib/appsignal/cli/install.rb
191
- - lib/appsignal/cli/notify_of_deploy.rb
192
191
  - lib/appsignal/config.rb
193
192
  - lib/appsignal/demo.rb
194
193
  - lib/appsignal/environment.rb
@@ -226,24 +225,25 @@ files:
226
225
  - lib/appsignal/hooks/sidekiq.rb
227
226
  - lib/appsignal/hooks/unicorn.rb
228
227
  - lib/appsignal/hooks/webmachine.rb
228
+ - lib/appsignal/integrations/action_cable.rb
229
+ - lib/appsignal/integrations/active_support_notifications.rb
229
230
  - lib/appsignal/integrations/capistrano/appsignal.cap
230
231
  - lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb
231
232
  - lib/appsignal/integrations/data_mapper.rb
232
233
  - lib/appsignal/integrations/delayed_job_plugin.rb
233
234
  - lib/appsignal/integrations/grape.rb
234
235
  - lib/appsignal/integrations/mongo_ruby_driver.rb
236
+ - lib/appsignal/integrations/net_http.rb
235
237
  - lib/appsignal/integrations/object.rb
236
- - lib/appsignal/integrations/object_ruby_19.rb
237
- - lib/appsignal/integrations/object_ruby_modern.rb
238
238
  - lib/appsignal/integrations/padrino.rb
239
239
  - lib/appsignal/integrations/que.rb
240
240
  - lib/appsignal/integrations/railtie.rb
241
241
  - lib/appsignal/integrations/rake.rb
242
+ - lib/appsignal/integrations/redis.rb
242
243
  - lib/appsignal/integrations/resque.rb
243
- - lib/appsignal/integrations/resque_active_job.rb
244
244
  - lib/appsignal/integrations/sinatra.rb
245
+ - lib/appsignal/integrations/unicorn.rb
245
246
  - lib/appsignal/integrations/webmachine.rb
246
- - lib/appsignal/js_exception_transaction.rb
247
247
  - lib/appsignal/logger.rb
248
248
  - lib/appsignal/marker.rb
249
249
  - lib/appsignal/minutely.rb
@@ -251,7 +251,6 @@ files:
251
251
  - lib/appsignal/probes/puma.rb
252
252
  - lib/appsignal/probes/sidekiq.rb
253
253
  - lib/appsignal/rack/generic_instrumentation.rb
254
- - lib/appsignal/rack/js_exception_catcher.rb
255
254
  - lib/appsignal/rack/rails_instrumentation.rb
256
255
  - lib/appsignal/rack/sinatra_instrumentation.rb
257
256
  - lib/appsignal/rack/streaming_listener.rb
@@ -280,7 +279,6 @@ files:
280
279
  - spec/lib/appsignal/cli/diagnose_spec.rb
281
280
  - spec/lib/appsignal/cli/helpers_spec.rb
282
281
  - spec/lib/appsignal/cli/install_spec.rb
283
- - spec/lib/appsignal/cli/notify_of_deploy_spec.rb
284
282
  - spec/lib/appsignal/cli_spec.rb
285
283
  - spec/lib/appsignal/config_spec.rb
286
284
  - spec/lib/appsignal/demo_spec.rb
@@ -324,23 +322,18 @@ files:
324
322
  - spec/lib/appsignal/integrations/data_mapper_spec.rb
325
323
  - spec/lib/appsignal/integrations/grape_spec.rb
326
324
  - spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
327
- - spec/lib/appsignal/integrations/object_19_spec.rb
328
325
  - spec/lib/appsignal/integrations/object_spec.rb
329
326
  - spec/lib/appsignal/integrations/padrino_spec.rb
330
327
  - spec/lib/appsignal/integrations/que_spec.rb
331
328
  - spec/lib/appsignal/integrations/railtie_spec.rb
332
- - spec/lib/appsignal/integrations/resque_active_job_spec.rb
333
- - spec/lib/appsignal/integrations/resque_spec.rb
334
329
  - spec/lib/appsignal/integrations/sinatra_spec.rb
335
330
  - spec/lib/appsignal/integrations/webmachine_spec.rb
336
- - spec/lib/appsignal/js_exception_transaction_spec.rb
337
331
  - spec/lib/appsignal/logger_spec.rb
338
332
  - spec/lib/appsignal/marker_spec.rb
339
333
  - spec/lib/appsignal/minutely_spec.rb
340
334
  - spec/lib/appsignal/probes/puma_spec.rb
341
335
  - spec/lib/appsignal/probes/sidekiq_spec.rb
342
336
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
343
- - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
344
337
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
345
338
  - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
346
339
  - spec/lib/appsignal/rack/streaming_listener_spec.rb
@@ -414,11 +407,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
414
407
  version: '1.9'
415
408
  required_rubygems_version: !ruby/object:Gem::Requirement
416
409
  requirements:
417
- - - ">="
410
+ - - ">"
418
411
  - !ruby/object:Gem::Version
419
- version: '0'
412
+ version: 1.3.1
420
413
  requirements: []
421
- rubygems_version: 3.2.17
414
+ rubygems_version: 3.2.6
422
415
  signing_key:
423
416
  specification_version: 4
424
417
  summary: Logs performance and exception data from your app to appsignal.com
@@ -433,7 +426,6 @@ test_files:
433
426
  - spec/lib/appsignal/cli/diagnose_spec.rb
434
427
  - spec/lib/appsignal/cli/helpers_spec.rb
435
428
  - spec/lib/appsignal/cli/install_spec.rb
436
- - spec/lib/appsignal/cli/notify_of_deploy_spec.rb
437
429
  - spec/lib/appsignal/cli_spec.rb
438
430
  - spec/lib/appsignal/config_spec.rb
439
431
  - spec/lib/appsignal/demo_spec.rb
@@ -477,23 +469,18 @@ test_files:
477
469
  - spec/lib/appsignal/integrations/data_mapper_spec.rb
478
470
  - spec/lib/appsignal/integrations/grape_spec.rb
479
471
  - spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
480
- - spec/lib/appsignal/integrations/object_19_spec.rb
481
472
  - spec/lib/appsignal/integrations/object_spec.rb
482
473
  - spec/lib/appsignal/integrations/padrino_spec.rb
483
474
  - spec/lib/appsignal/integrations/que_spec.rb
484
475
  - spec/lib/appsignal/integrations/railtie_spec.rb
485
- - spec/lib/appsignal/integrations/resque_active_job_spec.rb
486
- - spec/lib/appsignal/integrations/resque_spec.rb
487
476
  - spec/lib/appsignal/integrations/sinatra_spec.rb
488
477
  - spec/lib/appsignal/integrations/webmachine_spec.rb
489
- - spec/lib/appsignal/js_exception_transaction_spec.rb
490
478
  - spec/lib/appsignal/logger_spec.rb
491
479
  - spec/lib/appsignal/marker_spec.rb
492
480
  - spec/lib/appsignal/minutely_spec.rb
493
481
  - spec/lib/appsignal/probes/puma_spec.rb
494
482
  - spec/lib/appsignal/probes/sidekiq_spec.rb
495
483
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
496
- - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
497
484
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
498
485
  - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
499
486
  - spec/lib/appsignal/rack/streaming_listener_spec.rb