appsignal 2.5.0.alpha.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.
Files changed (211) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +33 -0
  3. data/.rspec +4 -0
  4. data/.rubocop.yml +66 -0
  5. data/.rubocop_todo.yml +124 -0
  6. data/.travis.yml +72 -0
  7. data/.yardopts +8 -0
  8. data/CHANGELOG.md +639 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE +20 -0
  11. data/README.md +264 -0
  12. data/Rakefile +214 -0
  13. data/appsignal.gemspec +42 -0
  14. data/benchmark.rake +77 -0
  15. data/bin/appsignal +13 -0
  16. data/ext/Rakefile +27 -0
  17. data/ext/agent.yml +64 -0
  18. data/ext/appsignal_extension.c +692 -0
  19. data/ext/base.rb +79 -0
  20. data/ext/extconf.rb +35 -0
  21. data/gemfiles/capistrano2.gemfile +7 -0
  22. data/gemfiles/capistrano3.gemfile +7 -0
  23. data/gemfiles/grape.gemfile +7 -0
  24. data/gemfiles/no_dependencies.gemfile +5 -0
  25. data/gemfiles/padrino.gemfile +7 -0
  26. data/gemfiles/que.gemfile +5 -0
  27. data/gemfiles/rails-3.2.gemfile +6 -0
  28. data/gemfiles/rails-4.0.gemfile +6 -0
  29. data/gemfiles/rails-4.1.gemfile +6 -0
  30. data/gemfiles/rails-4.2.gemfile +10 -0
  31. data/gemfiles/rails-5.0.gemfile +5 -0
  32. data/gemfiles/rails-5.1.gemfile +5 -0
  33. data/gemfiles/resque.gemfile +12 -0
  34. data/gemfiles/sequel-435.gemfile +11 -0
  35. data/gemfiles/sequel.gemfile +11 -0
  36. data/gemfiles/sinatra.gemfile +6 -0
  37. data/gemfiles/webmachine.gemfile +5 -0
  38. data/lib/appsignal.rb +804 -0
  39. data/lib/appsignal/auth_check.rb +65 -0
  40. data/lib/appsignal/capistrano.rb +10 -0
  41. data/lib/appsignal/cli.rb +108 -0
  42. data/lib/appsignal/cli/demo.rb +63 -0
  43. data/lib/appsignal/cli/diagnose.rb +500 -0
  44. data/lib/appsignal/cli/helpers.rb +72 -0
  45. data/lib/appsignal/cli/install.rb +277 -0
  46. data/lib/appsignal/cli/notify_of_deploy.rb +113 -0
  47. data/lib/appsignal/config.rb +287 -0
  48. data/lib/appsignal/demo.rb +107 -0
  49. data/lib/appsignal/event_formatter.rb +74 -0
  50. data/lib/appsignal/event_formatter/action_view/render_formatter.rb +24 -0
  51. data/lib/appsignal/event_formatter/active_record/instantiation_formatter.rb +14 -0
  52. data/lib/appsignal/event_formatter/active_record/sql_formatter.rb +14 -0
  53. data/lib/appsignal/event_formatter/elastic_search/search_formatter.rb +32 -0
  54. data/lib/appsignal/event_formatter/faraday/request_formatter.rb +19 -0
  55. data/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb +89 -0
  56. data/lib/appsignal/event_formatter/moped/query_formatter.rb +80 -0
  57. data/lib/appsignal/extension.rb +63 -0
  58. data/lib/appsignal/extension/jruby.rb +460 -0
  59. data/lib/appsignal/garbage_collection_profiler.rb +48 -0
  60. data/lib/appsignal/hooks.rb +105 -0
  61. data/lib/appsignal/hooks/action_cable.rb +113 -0
  62. data/lib/appsignal/hooks/active_support_notifications.rb +52 -0
  63. data/lib/appsignal/hooks/celluloid.rb +30 -0
  64. data/lib/appsignal/hooks/data_mapper.rb +18 -0
  65. data/lib/appsignal/hooks/delayed_job.rb +19 -0
  66. data/lib/appsignal/hooks/mongo_ruby_driver.rb +21 -0
  67. data/lib/appsignal/hooks/net_http.rb +29 -0
  68. data/lib/appsignal/hooks/passenger.rb +22 -0
  69. data/lib/appsignal/hooks/puma.rb +35 -0
  70. data/lib/appsignal/hooks/que.rb +21 -0
  71. data/lib/appsignal/hooks/rake.rb +39 -0
  72. data/lib/appsignal/hooks/redis.rb +30 -0
  73. data/lib/appsignal/hooks/sequel.rb +60 -0
  74. data/lib/appsignal/hooks/shoryuken.rb +43 -0
  75. data/lib/appsignal/hooks/sidekiq.rb +144 -0
  76. data/lib/appsignal/hooks/unicorn.rb +40 -0
  77. data/lib/appsignal/hooks/webmachine.rb +23 -0
  78. data/lib/appsignal/integrations/capistrano/appsignal.cap +39 -0
  79. data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +52 -0
  80. data/lib/appsignal/integrations/data_mapper.rb +33 -0
  81. data/lib/appsignal/integrations/delayed_job_plugin.rb +54 -0
  82. data/lib/appsignal/integrations/grape.rb +53 -0
  83. data/lib/appsignal/integrations/mongo_ruby_driver.rb +55 -0
  84. data/lib/appsignal/integrations/object.rb +35 -0
  85. data/lib/appsignal/integrations/padrino.rb +84 -0
  86. data/lib/appsignal/integrations/que.rb +43 -0
  87. data/lib/appsignal/integrations/railtie.rb +41 -0
  88. data/lib/appsignal/integrations/rake.rb +2 -0
  89. data/lib/appsignal/integrations/resque.rb +20 -0
  90. data/lib/appsignal/integrations/resque_active_job.rb +30 -0
  91. data/lib/appsignal/integrations/sinatra.rb +17 -0
  92. data/lib/appsignal/integrations/webmachine.rb +38 -0
  93. data/lib/appsignal/js_exception_transaction.rb +54 -0
  94. data/lib/appsignal/marker.rb +63 -0
  95. data/lib/appsignal/minutely.rb +42 -0
  96. data/lib/appsignal/rack/generic_instrumentation.rb +49 -0
  97. data/lib/appsignal/rack/js_exception_catcher.rb +70 -0
  98. data/lib/appsignal/rack/rails_instrumentation.rb +51 -0
  99. data/lib/appsignal/rack/sinatra_instrumentation.rb +99 -0
  100. data/lib/appsignal/rack/streaming_listener.rb +73 -0
  101. data/lib/appsignal/system.rb +81 -0
  102. data/lib/appsignal/transaction.rb +498 -0
  103. data/lib/appsignal/transmitter.rb +107 -0
  104. data/lib/appsignal/utils.rb +127 -0
  105. data/lib/appsignal/utils/params_sanitizer.rb +59 -0
  106. data/lib/appsignal/utils/query_params_sanitizer.rb +55 -0
  107. data/lib/appsignal/version.rb +3 -0
  108. data/lib/sequel/extensions/appsignal_integration.rb +3 -0
  109. data/resources/appsignal.yml.erb +39 -0
  110. data/resources/cacert.pem +3866 -0
  111. data/spec/.rubocop.yml +7 -0
  112. data/spec/lib/appsignal/auth_check_spec.rb +80 -0
  113. data/spec/lib/appsignal/capistrano2_spec.rb +224 -0
  114. data/spec/lib/appsignal/capistrano3_spec.rb +237 -0
  115. data/spec/lib/appsignal/cli/demo_spec.rb +67 -0
  116. data/spec/lib/appsignal/cli/diagnose_spec.rb +988 -0
  117. data/spec/lib/appsignal/cli/helpers_spec.rb +171 -0
  118. data/spec/lib/appsignal/cli/install_spec.rb +632 -0
  119. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +168 -0
  120. data/spec/lib/appsignal/cli_spec.rb +56 -0
  121. data/spec/lib/appsignal/config_spec.rb +637 -0
  122. data/spec/lib/appsignal/demo_spec.rb +87 -0
  123. data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +44 -0
  124. data/spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb +21 -0
  125. data/spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb +21 -0
  126. data/spec/lib/appsignal/event_formatter/elastic_search/search_formatter_spec.rb +52 -0
  127. data/spec/lib/appsignal/event_formatter/faraday/request_formatter_spec.rb +21 -0
  128. data/spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb +113 -0
  129. data/spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb +112 -0
  130. data/spec/lib/appsignal/event_formatter_spec.rb +100 -0
  131. data/spec/lib/appsignal/extension/jruby_spec.rb +43 -0
  132. data/spec/lib/appsignal/extension_spec.rb +137 -0
  133. data/spec/lib/appsignal/garbage_collection_profiler_spec.rb +66 -0
  134. data/spec/lib/appsignal/hooks/action_cable_spec.rb +370 -0
  135. data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +92 -0
  136. data/spec/lib/appsignal/hooks/celluloid_spec.rb +35 -0
  137. data/spec/lib/appsignal/hooks/data_mapper_spec.rb +39 -0
  138. data/spec/lib/appsignal/hooks/delayed_job_spec.rb +358 -0
  139. data/spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb +44 -0
  140. data/spec/lib/appsignal/hooks/net_http_spec.rb +53 -0
  141. data/spec/lib/appsignal/hooks/passenger_spec.rb +30 -0
  142. data/spec/lib/appsignal/hooks/puma_spec.rb +80 -0
  143. data/spec/lib/appsignal/hooks/que_spec.rb +19 -0
  144. data/spec/lib/appsignal/hooks/rake_spec.rb +73 -0
  145. data/spec/lib/appsignal/hooks/redis_spec.rb +55 -0
  146. data/spec/lib/appsignal/hooks/sequel_spec.rb +46 -0
  147. data/spec/lib/appsignal/hooks/shoryuken_spec.rb +192 -0
  148. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +419 -0
  149. data/spec/lib/appsignal/hooks/unicorn_spec.rb +52 -0
  150. data/spec/lib/appsignal/hooks/webmachine_spec.rb +35 -0
  151. data/spec/lib/appsignal/hooks_spec.rb +195 -0
  152. data/spec/lib/appsignal/integrations/data_mapper_spec.rb +65 -0
  153. data/spec/lib/appsignal/integrations/grape_spec.rb +225 -0
  154. data/spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb +127 -0
  155. data/spec/lib/appsignal/integrations/object_spec.rb +249 -0
  156. data/spec/lib/appsignal/integrations/padrino_spec.rb +323 -0
  157. data/spec/lib/appsignal/integrations/que_spec.rb +174 -0
  158. data/spec/lib/appsignal/integrations/railtie_spec.rb +129 -0
  159. data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +83 -0
  160. data/spec/lib/appsignal/integrations/resque_spec.rb +92 -0
  161. data/spec/lib/appsignal/integrations/sinatra_spec.rb +73 -0
  162. data/spec/lib/appsignal/integrations/webmachine_spec.rb +69 -0
  163. data/spec/lib/appsignal/js_exception_transaction_spec.rb +128 -0
  164. data/spec/lib/appsignal/marker_spec.rb +51 -0
  165. data/spec/lib/appsignal/minutely_spec.rb +50 -0
  166. data/spec/lib/appsignal/rack/generic_instrumentation_spec.rb +90 -0
  167. data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +147 -0
  168. data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +117 -0
  169. data/spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb +213 -0
  170. data/spec/lib/appsignal/rack/streaming_listener_spec.rb +161 -0
  171. data/spec/lib/appsignal/system_spec.rb +131 -0
  172. data/spec/lib/appsignal/transaction_spec.rb +1146 -0
  173. data/spec/lib/appsignal/transmitter_spec.rb +152 -0
  174. data/spec/lib/appsignal/utils/params_sanitizer_spec.rb +136 -0
  175. data/spec/lib/appsignal/utils/query_params_sanitizer_spec.rb +192 -0
  176. data/spec/lib/appsignal/utils_spec.rb +150 -0
  177. data/spec/lib/appsignal_spec.rb +1049 -0
  178. data/spec/spec_helper.rb +116 -0
  179. data/spec/support/fixtures/containers/cgroups/docker +14 -0
  180. data/spec/support/fixtures/containers/cgroups/docker_systemd +8 -0
  181. data/spec/support/fixtures/containers/cgroups/lxc +10 -0
  182. data/spec/support/fixtures/containers/cgroups/no_permission +0 -0
  183. data/spec/support/fixtures/containers/cgroups/none +1 -0
  184. data/spec/support/fixtures/generated_config.yml +24 -0
  185. data/spec/support/fixtures/uploaded_file.txt +0 -0
  186. data/spec/support/helpers/api_request_helper.rb +19 -0
  187. data/spec/support/helpers/cli_helpers.rb +26 -0
  188. data/spec/support/helpers/config_helpers.rb +21 -0
  189. data/spec/support/helpers/dependency_helper.rb +73 -0
  190. data/spec/support/helpers/directory_helper.rb +27 -0
  191. data/spec/support/helpers/env_helpers.rb +33 -0
  192. data/spec/support/helpers/example_exception.rb +13 -0
  193. data/spec/support/helpers/example_standard_error.rb +13 -0
  194. data/spec/support/helpers/log_helpers.rb +22 -0
  195. data/spec/support/helpers/std_streams_helper.rb +66 -0
  196. data/spec/support/helpers/system_helpers.rb +8 -0
  197. data/spec/support/helpers/time_helpers.rb +11 -0
  198. data/spec/support/helpers/transaction_helpers.rb +37 -0
  199. data/spec/support/matchers/contains_log.rb +7 -0
  200. data/spec/support/mocks/fake_gc_profiler.rb +19 -0
  201. data/spec/support/mocks/mock_extension.rb +6 -0
  202. data/spec/support/project_fixture/config/application.rb +0 -0
  203. data/spec/support/project_fixture/config/appsignal.yml +32 -0
  204. data/spec/support/project_fixture/config/environments/development.rb +0 -0
  205. data/spec/support/project_fixture/config/environments/production.rb +0 -0
  206. data/spec/support/project_fixture/config/environments/test.rb +0 -0
  207. data/spec/support/project_fixture/log/.gitkeep +0 -0
  208. data/spec/support/rails/my_app.rb +6 -0
  209. data/spec/support/shared_examples/instrument.rb +43 -0
  210. data/spec/support/stubs/delayed_job.rb +0 -0
  211. metadata +483 -0
@@ -0,0 +1,66 @@
1
+ module StdStreamsHelper
2
+ def std_stream
3
+ Tempfile.new SecureRandom.uuid
4
+ end
5
+
6
+ # Capture STDOUT in a variable
7
+ #
8
+ # Given tempfiles are rewinded and unlinked after yield, so no cleanup
9
+ # required. You can read from the stream using `stdout.read`.
10
+ #
11
+ # Usage
12
+ #
13
+ # out_stream = Tempfile.new
14
+ # capture_stdout(out_stream) { do_something }
15
+ def capture_stdout(stdout)
16
+ original_stdout = $stdout.dup
17
+ $stdout.reopen stdout
18
+
19
+ yield
20
+ ensure
21
+ $stdout.reopen original_stdout
22
+ stdout.rewind
23
+ stdout.unlink
24
+ end
25
+
26
+ # Capture STDOUT and STDERR in variables
27
+ #
28
+ # Given tempfiles are rewinded and unlinked after yield, so no cleanup
29
+ # required. You can read from the stream using `stdout.read`.
30
+ #
31
+ # Usage
32
+ #
33
+ # out_stream = Tempfile.new
34
+ # err_stream = Tempfile.new
35
+ # capture_std_streams(out_stream, err_stream) { do_something }
36
+ def capture_std_streams(stdout, stderr)
37
+ original_stdout = $stdout.dup
38
+ $stdout.reopen stdout
39
+ original_stderr = $stderr.dup
40
+ $stderr.reopen stderr
41
+
42
+ yield
43
+ ensure
44
+ $stdout.reopen original_stdout
45
+ $stderr.reopen original_stderr
46
+ stdout.rewind
47
+ stdout.unlink
48
+ stderr.rewind
49
+ stderr.unlink
50
+ end
51
+
52
+ def silence
53
+ std_stream = Tempfile.new(SecureRandom.uuid)
54
+ original_stdout = $stdout.dup
55
+ original_stderr = $stderr.dup
56
+ $stdout.reopen std_stream
57
+ $stderr.reopen std_stream
58
+
59
+ yield
60
+ ensure
61
+ $stdout.reopen original_stdout
62
+ $stderr.reopen original_stderr
63
+ std_stream.rewind
64
+ std_stream.unlink
65
+ end
66
+ end
@@ -0,0 +1,8 @@
1
+ module SystemHelpers
2
+ def recognize_as_heroku
3
+ ENV["DYNO"] = "dyno1"
4
+ value = yield
5
+ ENV.delete "DYNO"
6
+ value
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ module TimeHelpers
2
+ def fixed_time
3
+ @fixed_time ||= Time.utc(2014, 1, 15, 11, 0, 0).to_f
4
+ end
5
+
6
+ def advance_frozen_time(time, addition)
7
+ Time.at(time.to_f + addition).tap do |new_time|
8
+ Timecop.freeze(new_time)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,37 @@
1
+ module TransactionHelpers
2
+ def uploaded_file
3
+ if DependencyHelper.rails_present?
4
+ ActionDispatch::Http::UploadedFile.new(:tempfile => "/tmp")
5
+ else
6
+ ::Rack::Multipart::UploadedFile.new(File.join(fixtures_dir, "/uploaded_file.txt"))
7
+ end
8
+ end
9
+
10
+ def background_job_transaction(args = {})
11
+ Appsignal::Transaction.new(
12
+ "1",
13
+ Appsignal::Transaction::BACKGROUND_JOB,
14
+ Appsignal::Transaction::GenericRequest.new({
15
+ "SERVER_NAME" => "localhost",
16
+ "action_dispatch.routes" => "not_available"
17
+ }.merge(args))
18
+ )
19
+ end
20
+
21
+ def http_request_transaction(args = {})
22
+ Appsignal::Transaction.new(
23
+ "1",
24
+ Appsignal::Transaction::HTTP_REQUEST,
25
+ Appsignal::Transaction::GenericRequest.new({
26
+ "SERVER_NAME" => "localhost",
27
+ "action_dispatch.routes" => "not_available"
28
+ }.merge(args))
29
+ )
30
+ end
31
+
32
+ # Use when {Appsignal::Transaction.clear_current_transaction!} is stubbed to
33
+ # clear the current transaction on the current thread.
34
+ def clear_current_transaction!
35
+ Thread.current[:appsignal_transaction] = nil
36
+ end
37
+ end
@@ -0,0 +1,7 @@
1
+ RSpec::Matchers.define :contains_log do |level, message|
2
+ match do |actual|
3
+ actual.include?("[#{level.upcase}] #{message}")
4
+ end
5
+
6
+ diffable
7
+ end
@@ -0,0 +1,19 @@
1
+ class FakeGCProfiler
2
+ attr_accessor :total_time
3
+ attr_writer :clear_delay
4
+
5
+ def initialize(total_time = 0)
6
+ @total_time = total_time
7
+ end
8
+
9
+ def clear
10
+ sleep clear_delay
11
+ @total_time = 0
12
+ end
13
+
14
+ private
15
+
16
+ def clear_delay
17
+ @clear_delay ||= 0
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ module Appsignal
2
+ module MockExtension
3
+ def self.initializer
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,32 @@
1
+ default: &defaults
2
+ push_api_key: "abc"
3
+ name: "TestApp"
4
+
5
+ production:
6
+ <<: *defaults
7
+ active: true
8
+
9
+ development:
10
+ <<: *defaults
11
+ active: true
12
+
13
+ test:
14
+ <<: *defaults
15
+ endpoint: "http://localhost:3000"
16
+ debug: true
17
+ active: true
18
+
19
+ old_config:
20
+ api_key: "def"
21
+ active: true
22
+ ignore_exceptions:
23
+ - StandardError
24
+
25
+ old_config_mixed_with_new_config:
26
+ push_api_key: "ghi"
27
+ api_key: "def"
28
+ active: true
29
+ ignore_errors:
30
+ - NoMethodError
31
+ ignore_exceptions:
32
+ - StandardError
@@ -0,0 +1,6 @@
1
+ module MyApp
2
+ class Application < Rails::Application
3
+ config.active_support.deprecation = proc { |message, stack| }
4
+ config.eager_load = false
5
+ end
6
+ end
@@ -0,0 +1,43 @@
1
+ RSpec.shared_examples "instrument helper" do
2
+ let(:stub) { double }
3
+ before do
4
+ expect(stub).to receive(:method_call).and_return("return value")
5
+
6
+ expect(transaction).to receive(:start_event)
7
+ expect(transaction).to receive(:finish_event).with(
8
+ "name",
9
+ "title",
10
+ "body",
11
+ 0
12
+ )
13
+ end
14
+
15
+ it "records an event around the given block" do
16
+ return_value = instrumenter.instrument "name", "title", "body" do
17
+ stub.method_call
18
+ end
19
+ expect(return_value).to eq "return value"
20
+ end
21
+
22
+ context "with an error raised in the passed block" do
23
+ it "records an event around the given block" do
24
+ expect do
25
+ instrumenter.instrument "name", "title", "body" do
26
+ stub.method_call
27
+ raise ExampleException, "foo"
28
+ end
29
+ end.to raise_error(ExampleException, "foo")
30
+ end
31
+ end
32
+
33
+ context "with an error raise in the passed block" do
34
+ it "records an event around the given block" do
35
+ expect do
36
+ instrumenter.instrument "name", "title", "body" do
37
+ stub.method_call
38
+ throw :foo
39
+ end
40
+ end.to throw_symbol(:foo)
41
+ end
42
+ end
43
+ end
File without changes
metadata ADDED
@@ -0,0 +1,483 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: appsignal
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.5.0.alpha.1
5
+ platform: java
6
+ authors:
7
+ - Robert Beekman
8
+ - Thijs Cadier
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-12-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ name: ffi
21
+ prerelease: false
22
+ type: :runtime
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ name: rack
35
+ prerelease: false
36
+ type: :runtime
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '11'
48
+ name: rake
49
+ prerelease: false
50
+ type: :development
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '11'
56
+ - !ruby/object:Gem::Dependency
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.6'
62
+ name: rspec
63
+ prerelease: false
64
+ type: :development
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.6'
70
+ - !ruby/object:Gem::Dependency
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ name: pry
77
+ prerelease: false
78
+ type: :development
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ name: timecop
91
+ prerelease: false
92
+ type: :development
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ name: webmock
105
+ prerelease: false
106
+ type: :development
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.49.0
118
+ name: rubocop
119
+ prerelease: false
120
+ type: :development
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.49.0
126
+ - !ruby/object:Gem::Dependency
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ name: yard
133
+ prerelease: false
134
+ type: :development
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ description: The official appsignal.com gem
141
+ email:
142
+ - support@appsignal.com
143
+ executables:
144
+ - appsignal
145
+ extensions:
146
+ - ext/Rakefile
147
+ extra_rdoc_files: []
148
+ files:
149
+ - ".gitignore"
150
+ - ".rspec"
151
+ - ".rubocop.yml"
152
+ - ".rubocop_todo.yml"
153
+ - ".travis.yml"
154
+ - ".yardopts"
155
+ - CHANGELOG.md
156
+ - Gemfile
157
+ - LICENSE
158
+ - README.md
159
+ - Rakefile
160
+ - appsignal.gemspec
161
+ - benchmark.rake
162
+ - bin/appsignal
163
+ - ext/Rakefile
164
+ - ext/agent.yml
165
+ - ext/appsignal_extension.c
166
+ - ext/base.rb
167
+ - ext/extconf.rb
168
+ - gemfiles/capistrano2.gemfile
169
+ - gemfiles/capistrano3.gemfile
170
+ - gemfiles/grape.gemfile
171
+ - gemfiles/no_dependencies.gemfile
172
+ - gemfiles/padrino.gemfile
173
+ - gemfiles/que.gemfile
174
+ - gemfiles/rails-3.2.gemfile
175
+ - gemfiles/rails-4.0.gemfile
176
+ - gemfiles/rails-4.1.gemfile
177
+ - gemfiles/rails-4.2.gemfile
178
+ - gemfiles/rails-5.0.gemfile
179
+ - gemfiles/rails-5.1.gemfile
180
+ - gemfiles/resque.gemfile
181
+ - gemfiles/sequel-435.gemfile
182
+ - gemfiles/sequel.gemfile
183
+ - gemfiles/sinatra.gemfile
184
+ - gemfiles/webmachine.gemfile
185
+ - lib/appsignal.rb
186
+ - lib/appsignal/auth_check.rb
187
+ - lib/appsignal/capistrano.rb
188
+ - lib/appsignal/cli.rb
189
+ - lib/appsignal/cli/demo.rb
190
+ - lib/appsignal/cli/diagnose.rb
191
+ - lib/appsignal/cli/helpers.rb
192
+ - lib/appsignal/cli/install.rb
193
+ - lib/appsignal/cli/notify_of_deploy.rb
194
+ - lib/appsignal/config.rb
195
+ - lib/appsignal/demo.rb
196
+ - lib/appsignal/event_formatter.rb
197
+ - lib/appsignal/event_formatter/action_view/render_formatter.rb
198
+ - lib/appsignal/event_formatter/active_record/instantiation_formatter.rb
199
+ - lib/appsignal/event_formatter/active_record/sql_formatter.rb
200
+ - lib/appsignal/event_formatter/elastic_search/search_formatter.rb
201
+ - lib/appsignal/event_formatter/faraday/request_formatter.rb
202
+ - lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb
203
+ - lib/appsignal/event_formatter/moped/query_formatter.rb
204
+ - lib/appsignal/extension.rb
205
+ - lib/appsignal/extension/jruby.rb
206
+ - lib/appsignal/garbage_collection_profiler.rb
207
+ - lib/appsignal/hooks.rb
208
+ - lib/appsignal/hooks/action_cable.rb
209
+ - lib/appsignal/hooks/active_support_notifications.rb
210
+ - lib/appsignal/hooks/celluloid.rb
211
+ - lib/appsignal/hooks/data_mapper.rb
212
+ - lib/appsignal/hooks/delayed_job.rb
213
+ - lib/appsignal/hooks/mongo_ruby_driver.rb
214
+ - lib/appsignal/hooks/net_http.rb
215
+ - lib/appsignal/hooks/passenger.rb
216
+ - lib/appsignal/hooks/puma.rb
217
+ - lib/appsignal/hooks/que.rb
218
+ - lib/appsignal/hooks/rake.rb
219
+ - lib/appsignal/hooks/redis.rb
220
+ - lib/appsignal/hooks/sequel.rb
221
+ - lib/appsignal/hooks/shoryuken.rb
222
+ - lib/appsignal/hooks/sidekiq.rb
223
+ - lib/appsignal/hooks/unicorn.rb
224
+ - lib/appsignal/hooks/webmachine.rb
225
+ - lib/appsignal/integrations/capistrano/appsignal.cap
226
+ - lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb
227
+ - lib/appsignal/integrations/data_mapper.rb
228
+ - lib/appsignal/integrations/delayed_job_plugin.rb
229
+ - lib/appsignal/integrations/grape.rb
230
+ - lib/appsignal/integrations/mongo_ruby_driver.rb
231
+ - lib/appsignal/integrations/object.rb
232
+ - lib/appsignal/integrations/padrino.rb
233
+ - lib/appsignal/integrations/que.rb
234
+ - lib/appsignal/integrations/railtie.rb
235
+ - lib/appsignal/integrations/rake.rb
236
+ - lib/appsignal/integrations/resque.rb
237
+ - lib/appsignal/integrations/resque_active_job.rb
238
+ - lib/appsignal/integrations/sinatra.rb
239
+ - lib/appsignal/integrations/webmachine.rb
240
+ - lib/appsignal/js_exception_transaction.rb
241
+ - lib/appsignal/marker.rb
242
+ - lib/appsignal/minutely.rb
243
+ - lib/appsignal/rack/generic_instrumentation.rb
244
+ - lib/appsignal/rack/js_exception_catcher.rb
245
+ - lib/appsignal/rack/rails_instrumentation.rb
246
+ - lib/appsignal/rack/sinatra_instrumentation.rb
247
+ - lib/appsignal/rack/streaming_listener.rb
248
+ - lib/appsignal/system.rb
249
+ - lib/appsignal/transaction.rb
250
+ - lib/appsignal/transmitter.rb
251
+ - lib/appsignal/utils.rb
252
+ - lib/appsignal/utils/params_sanitizer.rb
253
+ - lib/appsignal/utils/query_params_sanitizer.rb
254
+ - lib/appsignal/version.rb
255
+ - lib/sequel/extensions/appsignal_integration.rb
256
+ - resources/appsignal.yml.erb
257
+ - resources/cacert.pem
258
+ - spec/.rubocop.yml
259
+ - spec/lib/appsignal/auth_check_spec.rb
260
+ - spec/lib/appsignal/capistrano2_spec.rb
261
+ - spec/lib/appsignal/capistrano3_spec.rb
262
+ - spec/lib/appsignal/cli/demo_spec.rb
263
+ - spec/lib/appsignal/cli/diagnose_spec.rb
264
+ - spec/lib/appsignal/cli/helpers_spec.rb
265
+ - spec/lib/appsignal/cli/install_spec.rb
266
+ - spec/lib/appsignal/cli/notify_of_deploy_spec.rb
267
+ - spec/lib/appsignal/cli_spec.rb
268
+ - spec/lib/appsignal/config_spec.rb
269
+ - spec/lib/appsignal/demo_spec.rb
270
+ - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
271
+ - spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb
272
+ - spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb
273
+ - spec/lib/appsignal/event_formatter/elastic_search/search_formatter_spec.rb
274
+ - spec/lib/appsignal/event_formatter/faraday/request_formatter_spec.rb
275
+ - spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb
276
+ - spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb
277
+ - spec/lib/appsignal/event_formatter_spec.rb
278
+ - spec/lib/appsignal/extension/jruby_spec.rb
279
+ - spec/lib/appsignal/extension_spec.rb
280
+ - spec/lib/appsignal/garbage_collection_profiler_spec.rb
281
+ - spec/lib/appsignal/hooks/action_cable_spec.rb
282
+ - spec/lib/appsignal/hooks/active_support_notifications_spec.rb
283
+ - spec/lib/appsignal/hooks/celluloid_spec.rb
284
+ - spec/lib/appsignal/hooks/data_mapper_spec.rb
285
+ - spec/lib/appsignal/hooks/delayed_job_spec.rb
286
+ - spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb
287
+ - spec/lib/appsignal/hooks/net_http_spec.rb
288
+ - spec/lib/appsignal/hooks/passenger_spec.rb
289
+ - spec/lib/appsignal/hooks/puma_spec.rb
290
+ - spec/lib/appsignal/hooks/que_spec.rb
291
+ - spec/lib/appsignal/hooks/rake_spec.rb
292
+ - spec/lib/appsignal/hooks/redis_spec.rb
293
+ - spec/lib/appsignal/hooks/sequel_spec.rb
294
+ - spec/lib/appsignal/hooks/shoryuken_spec.rb
295
+ - spec/lib/appsignal/hooks/sidekiq_spec.rb
296
+ - spec/lib/appsignal/hooks/unicorn_spec.rb
297
+ - spec/lib/appsignal/hooks/webmachine_spec.rb
298
+ - spec/lib/appsignal/hooks_spec.rb
299
+ - spec/lib/appsignal/integrations/data_mapper_spec.rb
300
+ - spec/lib/appsignal/integrations/grape_spec.rb
301
+ - spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
302
+ - spec/lib/appsignal/integrations/object_spec.rb
303
+ - spec/lib/appsignal/integrations/padrino_spec.rb
304
+ - spec/lib/appsignal/integrations/que_spec.rb
305
+ - spec/lib/appsignal/integrations/railtie_spec.rb
306
+ - spec/lib/appsignal/integrations/resque_active_job_spec.rb
307
+ - spec/lib/appsignal/integrations/resque_spec.rb
308
+ - spec/lib/appsignal/integrations/sinatra_spec.rb
309
+ - spec/lib/appsignal/integrations/webmachine_spec.rb
310
+ - spec/lib/appsignal/js_exception_transaction_spec.rb
311
+ - spec/lib/appsignal/marker_spec.rb
312
+ - spec/lib/appsignal/minutely_spec.rb
313
+ - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
314
+ - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
315
+ - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
316
+ - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
317
+ - spec/lib/appsignal/rack/streaming_listener_spec.rb
318
+ - spec/lib/appsignal/system_spec.rb
319
+ - spec/lib/appsignal/transaction_spec.rb
320
+ - spec/lib/appsignal/transmitter_spec.rb
321
+ - spec/lib/appsignal/utils/params_sanitizer_spec.rb
322
+ - spec/lib/appsignal/utils/query_params_sanitizer_spec.rb
323
+ - spec/lib/appsignal/utils_spec.rb
324
+ - spec/lib/appsignal_spec.rb
325
+ - spec/spec_helper.rb
326
+ - spec/support/fixtures/containers/cgroups/docker
327
+ - spec/support/fixtures/containers/cgroups/docker_systemd
328
+ - spec/support/fixtures/containers/cgroups/lxc
329
+ - spec/support/fixtures/containers/cgroups/no_permission
330
+ - spec/support/fixtures/containers/cgroups/none
331
+ - spec/support/fixtures/generated_config.yml
332
+ - spec/support/fixtures/uploaded_file.txt
333
+ - spec/support/helpers/api_request_helper.rb
334
+ - spec/support/helpers/cli_helpers.rb
335
+ - spec/support/helpers/config_helpers.rb
336
+ - spec/support/helpers/dependency_helper.rb
337
+ - spec/support/helpers/directory_helper.rb
338
+ - spec/support/helpers/env_helpers.rb
339
+ - spec/support/helpers/example_exception.rb
340
+ - spec/support/helpers/example_standard_error.rb
341
+ - spec/support/helpers/log_helpers.rb
342
+ - spec/support/helpers/std_streams_helper.rb
343
+ - spec/support/helpers/system_helpers.rb
344
+ - spec/support/helpers/time_helpers.rb
345
+ - spec/support/helpers/transaction_helpers.rb
346
+ - spec/support/matchers/contains_log.rb
347
+ - spec/support/mocks/fake_gc_profiler.rb
348
+ - spec/support/mocks/mock_extension.rb
349
+ - spec/support/project_fixture/config/application.rb
350
+ - spec/support/project_fixture/config/appsignal.yml
351
+ - spec/support/project_fixture/config/environments/development.rb
352
+ - spec/support/project_fixture/config/environments/production.rb
353
+ - spec/support/project_fixture/config/environments/test.rb
354
+ - spec/support/project_fixture/log/.gitkeep
355
+ - spec/support/rails/my_app.rb
356
+ - spec/support/shared_examples/instrument.rb
357
+ - spec/support/stubs/delayed_job.rb
358
+ homepage: https://github.com/appsignal/appsignal-ruby
359
+ licenses:
360
+ - MIT
361
+ metadata: {}
362
+ post_install_message:
363
+ rdoc_options: []
364
+ require_paths:
365
+ - lib
366
+ - ext
367
+ required_ruby_version: !ruby/object:Gem::Requirement
368
+ requirements:
369
+ - - ">="
370
+ - !ruby/object:Gem::Version
371
+ version: '1.9'
372
+ required_rubygems_version: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">"
375
+ - !ruby/object:Gem::Version
376
+ version: 1.3.1
377
+ requirements: []
378
+ rubyforge_project:
379
+ rubygems_version: 2.6.8
380
+ signing_key:
381
+ specification_version: 4
382
+ summary: Logs performance and exception data from your app to appsignal.com
383
+ test_files:
384
+ - spec/.rubocop.yml
385
+ - spec/lib/appsignal/auth_check_spec.rb
386
+ - spec/lib/appsignal/capistrano2_spec.rb
387
+ - spec/lib/appsignal/capistrano3_spec.rb
388
+ - spec/lib/appsignal/cli/demo_spec.rb
389
+ - spec/lib/appsignal/cli/diagnose_spec.rb
390
+ - spec/lib/appsignal/cli/helpers_spec.rb
391
+ - spec/lib/appsignal/cli/install_spec.rb
392
+ - spec/lib/appsignal/cli/notify_of_deploy_spec.rb
393
+ - spec/lib/appsignal/cli_spec.rb
394
+ - spec/lib/appsignal/config_spec.rb
395
+ - spec/lib/appsignal/demo_spec.rb
396
+ - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
397
+ - spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb
398
+ - spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb
399
+ - spec/lib/appsignal/event_formatter/elastic_search/search_formatter_spec.rb
400
+ - spec/lib/appsignal/event_formatter/faraday/request_formatter_spec.rb
401
+ - spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb
402
+ - spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb
403
+ - spec/lib/appsignal/event_formatter_spec.rb
404
+ - spec/lib/appsignal/extension/jruby_spec.rb
405
+ - spec/lib/appsignal/extension_spec.rb
406
+ - spec/lib/appsignal/garbage_collection_profiler_spec.rb
407
+ - spec/lib/appsignal/hooks/action_cable_spec.rb
408
+ - spec/lib/appsignal/hooks/active_support_notifications_spec.rb
409
+ - spec/lib/appsignal/hooks/celluloid_spec.rb
410
+ - spec/lib/appsignal/hooks/data_mapper_spec.rb
411
+ - spec/lib/appsignal/hooks/delayed_job_spec.rb
412
+ - spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb
413
+ - spec/lib/appsignal/hooks/net_http_spec.rb
414
+ - spec/lib/appsignal/hooks/passenger_spec.rb
415
+ - spec/lib/appsignal/hooks/puma_spec.rb
416
+ - spec/lib/appsignal/hooks/que_spec.rb
417
+ - spec/lib/appsignal/hooks/rake_spec.rb
418
+ - spec/lib/appsignal/hooks/redis_spec.rb
419
+ - spec/lib/appsignal/hooks/sequel_spec.rb
420
+ - spec/lib/appsignal/hooks/shoryuken_spec.rb
421
+ - spec/lib/appsignal/hooks/sidekiq_spec.rb
422
+ - spec/lib/appsignal/hooks/unicorn_spec.rb
423
+ - spec/lib/appsignal/hooks/webmachine_spec.rb
424
+ - spec/lib/appsignal/hooks_spec.rb
425
+ - spec/lib/appsignal/integrations/data_mapper_spec.rb
426
+ - spec/lib/appsignal/integrations/grape_spec.rb
427
+ - spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb
428
+ - spec/lib/appsignal/integrations/object_spec.rb
429
+ - spec/lib/appsignal/integrations/padrino_spec.rb
430
+ - spec/lib/appsignal/integrations/que_spec.rb
431
+ - spec/lib/appsignal/integrations/railtie_spec.rb
432
+ - spec/lib/appsignal/integrations/resque_active_job_spec.rb
433
+ - spec/lib/appsignal/integrations/resque_spec.rb
434
+ - spec/lib/appsignal/integrations/sinatra_spec.rb
435
+ - spec/lib/appsignal/integrations/webmachine_spec.rb
436
+ - spec/lib/appsignal/js_exception_transaction_spec.rb
437
+ - spec/lib/appsignal/marker_spec.rb
438
+ - spec/lib/appsignal/minutely_spec.rb
439
+ - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
440
+ - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
441
+ - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
442
+ - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
443
+ - spec/lib/appsignal/rack/streaming_listener_spec.rb
444
+ - spec/lib/appsignal/system_spec.rb
445
+ - spec/lib/appsignal/transaction_spec.rb
446
+ - spec/lib/appsignal/transmitter_spec.rb
447
+ - spec/lib/appsignal/utils/params_sanitizer_spec.rb
448
+ - spec/lib/appsignal/utils/query_params_sanitizer_spec.rb
449
+ - spec/lib/appsignal/utils_spec.rb
450
+ - spec/lib/appsignal_spec.rb
451
+ - spec/spec_helper.rb
452
+ - spec/support/fixtures/containers/cgroups/docker
453
+ - spec/support/fixtures/containers/cgroups/docker_systemd
454
+ - spec/support/fixtures/containers/cgroups/lxc
455
+ - spec/support/fixtures/containers/cgroups/no_permission
456
+ - spec/support/fixtures/containers/cgroups/none
457
+ - spec/support/fixtures/generated_config.yml
458
+ - spec/support/fixtures/uploaded_file.txt
459
+ - spec/support/helpers/api_request_helper.rb
460
+ - spec/support/helpers/cli_helpers.rb
461
+ - spec/support/helpers/config_helpers.rb
462
+ - spec/support/helpers/dependency_helper.rb
463
+ - spec/support/helpers/directory_helper.rb
464
+ - spec/support/helpers/env_helpers.rb
465
+ - spec/support/helpers/example_exception.rb
466
+ - spec/support/helpers/example_standard_error.rb
467
+ - spec/support/helpers/log_helpers.rb
468
+ - spec/support/helpers/std_streams_helper.rb
469
+ - spec/support/helpers/system_helpers.rb
470
+ - spec/support/helpers/time_helpers.rb
471
+ - spec/support/helpers/transaction_helpers.rb
472
+ - spec/support/matchers/contains_log.rb
473
+ - spec/support/mocks/fake_gc_profiler.rb
474
+ - spec/support/mocks/mock_extension.rb
475
+ - spec/support/project_fixture/config/application.rb
476
+ - spec/support/project_fixture/config/appsignal.yml
477
+ - spec/support/project_fixture/config/environments/development.rb
478
+ - spec/support/project_fixture/config/environments/production.rb
479
+ - spec/support/project_fixture/config/environments/test.rb
480
+ - spec/support/project_fixture/log/.gitkeep
481
+ - spec/support/rails/my_app.rb
482
+ - spec/support/shared_examples/instrument.rb
483
+ - spec/support/stubs/delayed_job.rb