appsignal 2.5.0.alpha.1-java

Sign up to get free protection for your applications and to get access to all the features.
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