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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 65400cceb2b0718a168f31161b915a81d8fe85ce
4
+ data.tar.gz: 7ce1384a6c96778420fcc982368a96e8799929f1
5
+ SHA512:
6
+ metadata.gz: 269e7c2e1111c4c9d80dac6ece45c499e9db9e877f39c1ee7ab4952cb0032b3c98d0effd63b507f7d8fb55a058c491c6dd564fabdb289e13075db5e5cf6ddf17
7
+ data.tar.gz: f911ab15e0a4dd53486cff11380ef728f95dd6dcb803cd0be43c78cf6a48afeb6bcf5b96670602a72bec9d82cc90d4e39d7d7d85b4e1e5ca12b74f556a6ccd6d
@@ -0,0 +1,33 @@
1
+ *.rbc
2
+ *.sassc
3
+ .sass-cache
4
+ capybara-*.html
5
+ *.log
6
+ /doc
7
+ /.bundle
8
+ /vendor/bundle
9
+ /tmp/*
10
+ /db/*.sqlite3
11
+ /public/system/*
12
+ /coverage/
13
+ /spec/tmp
14
+ /spec/support/project_fixture/log/*.log
15
+ **.orig
16
+ rerun.txt
17
+ pickle-email-*.html
18
+ *.gem
19
+ Gemfile.lock
20
+ gemfiles/*.lock
21
+ .DS_Store
22
+ .ruby-version
23
+ bundle_and_spec_all_rbenv
24
+ bundle_and_spec_all_rvm
25
+ ext/libappsignal.*
26
+ ext/appsignal-agent
27
+ ext/appsignal.h
28
+ ext/appsignal.architecture
29
+ ext/appsignal.version
30
+ ext/Makefile
31
+ ext/*.bundle
32
+ ext/*.o
33
+ ext/*.so
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --order defined
2
+ --color
3
+ --warnings
4
+ --require spec_helper
@@ -0,0 +1,66 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 1.9
5
+ Include:
6
+ - "**/*.cap"
7
+ - "Gemfile"
8
+ - "Rakefile"
9
+ - "appsignal.gemspec"
10
+ Exclude:
11
+ - "tmp/**/*"
12
+ - "gemfiles/vendor/**/*"
13
+ - "vendor/**/*"
14
+ - "benchmark.rake"
15
+ DisplayCopNames: true
16
+ UseCache: true
17
+ CacheRootDirectory: ./tmp
18
+
19
+ Style/Documentation:
20
+ Enabled: false
21
+
22
+ Style/StringLiterals:
23
+ EnforcedStyle: double_quotes
24
+
25
+ Style/StringLiteralsInInterpolation:
26
+ EnforcedStyle: double_quotes
27
+
28
+ Layout/AlignParameters:
29
+ EnforcedStyle: with_fixed_indentation
30
+
31
+ Layout/MultilineMethodCallIndentation:
32
+ EnforcedStyle: indented
33
+
34
+ Layout/MultilineOperationIndentation:
35
+ EnforcedStyle: indented
36
+
37
+ Style/HashSyntax:
38
+ EnforcedStyle: hash_rockets
39
+
40
+ Layout/AlignHash:
41
+ EnforcedLastArgumentHashStyle: ignore_implicit
42
+
43
+ Layout/IndentArray:
44
+ EnforcedStyle: consistent
45
+
46
+ Style/EmptyMethod:
47
+ EnforcedStyle: expanded
48
+
49
+ Style/MethodMissing:
50
+ Exclude:
51
+ - "lib/appsignal/extension.rb"
52
+ - "lib/appsignal/transaction.rb"
53
+
54
+ Style/TrailingUnderscoreVariable:
55
+ Enabled: false
56
+
57
+ Style/FileName:
58
+ Exclude:
59
+ - "ext/Rakefile"
60
+
61
+ Metrics/BlockLength:
62
+ Exclude:
63
+ - "Rakefile"
64
+
65
+ # Metrics/LineLength:
66
+ # Max: 80
@@ -0,0 +1,124 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-08-15 12:46:37 +0200 using RuboCop version 0.46.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 4
10
+ Lint/HandleExceptions:
11
+ Exclude:
12
+ - 'lib/appsignal/cli/install.rb'
13
+
14
+ # Offense count: 41
15
+ Metrics/AbcSize:
16
+ Max: 59.92
17
+
18
+ # Offense count: 5
19
+ # Configuration parameters: CountComments.
20
+ Metrics/BlockLength:
21
+ Max: 31
22
+
23
+ # Offense count: 4
24
+ # Configuration parameters: CountComments.
25
+ Metrics/ClassLength:
26
+ Exclude:
27
+ - "lib/appsignal/cli/diagnose.rb"
28
+ - "lib/appsignal/cli/install.rb"
29
+ - "lib/appsignal/config.rb"
30
+ - "lib/appsignal/transaction.rb"
31
+
32
+ # Offense count: 15
33
+ Metrics/CyclomaticComplexity:
34
+ Max: 11
35
+
36
+ # Offense count: 471
37
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
38
+ # URISchemes: http, https
39
+ Metrics/LineLength:
40
+ Max: 152
41
+
42
+ # Offense count: 88
43
+ # Configuration parameters: CountComments.
44
+ Metrics/MethodLength:
45
+ Max: 60
46
+
47
+ # Offense count: 1
48
+ # Configuration parameters: CountComments.
49
+ Metrics/ModuleLength:
50
+ Exclude:
51
+ - "lib/appsignal.rb"
52
+
53
+ # Offense count: 9
54
+ Metrics/PerceivedComplexity:
55
+ Max: 14
56
+
57
+ # Offense count: 10
58
+ Style/AccessorMethodName:
59
+ Exclude:
60
+ - 'lib/appsignal.rb'
61
+ - 'lib/appsignal/transaction.rb'
62
+ - 'spec/support/helpers/cli_helpers.rb'
63
+
64
+ # Offense count: 20
65
+ # Cop supports --auto-correct.
66
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
67
+ # SupportedStyles: prefer_alias, prefer_alias_method
68
+ Style/Alias:
69
+ Exclude:
70
+ - 'lib/appsignal.rb'
71
+ - 'lib/appsignal/hooks/active_support_notifications.rb'
72
+ - 'lib/appsignal/hooks/celluloid.rb'
73
+ - 'lib/appsignal/hooks/net_http.rb'
74
+ - 'lib/appsignal/hooks/puma.rb'
75
+ - 'lib/appsignal/hooks/rake.rb'
76
+ - 'lib/appsignal/hooks/redis.rb'
77
+ - 'lib/appsignal/hooks/unicorn.rb'
78
+ - 'lib/appsignal/hooks/webmachine.rb'
79
+ - 'lib/appsignal/transaction.rb'
80
+
81
+ # Offense count: 1
82
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
83
+ # SupportedStyles: nested, compact
84
+ Style/ClassAndModuleChildren:
85
+ Exclude:
86
+ - 'lib/appsignal/integrations/padrino.rb'
87
+
88
+ # Offense count: 3
89
+ Style/ClassVars:
90
+ Exclude:
91
+ - 'lib/appsignal/event_formatter.rb'
92
+ - 'lib/appsignal/minutely.rb'
93
+
94
+ # Offense count: 1
95
+ Style/DoubleNegation:
96
+ Exclude:
97
+ - 'lib/appsignal.rb'
98
+
99
+ # Offense count: 5
100
+ # Configuration parameters: MinBodyLength.
101
+ Style/GuardClause:
102
+ Exclude:
103
+ - 'lib/appsignal.rb'
104
+ - 'lib/appsignal/event_formatter.rb'
105
+ - 'lib/appsignal/event_formatter/moped/query_formatter.rb'
106
+ - 'lib/appsignal/hooks.rb'
107
+ - 'lib/appsignal/marker.rb'
108
+
109
+ # Offense count: 2
110
+ # Cop supports --auto-correct.
111
+ # Configuration parameters: MaxLineLength.
112
+ Style/IfUnlessModifier:
113
+ Exclude:
114
+ - 'lib/appsignal.rb'
115
+
116
+ # Offense count: 1
117
+ # Cop supports --auto-correct.
118
+ # Configuration parameters: IncludeSemanticChanges.
119
+ Style/NonNilCheck:
120
+ Exclude:
121
+ - 'lib/appsignal/transaction.rb'
122
+
123
+ Security/YAMLLoad:
124
+ Enabled: false
@@ -0,0 +1,72 @@
1
+ sudo: false
2
+
3
+ branches:
4
+ only:
5
+ - "master"
6
+ - "develop"
7
+
8
+ language: ruby
9
+ cache: bundler
10
+
11
+ rvm:
12
+ - "2.0.0"
13
+ - "2.1.8"
14
+ - "2.2.4"
15
+ - "2.3.0"
16
+ - "2.4.0"
17
+ - "jruby-19mode"
18
+
19
+ gemfile:
20
+ - "gemfiles/capistrano2.gemfile"
21
+ - "gemfiles/capistrano3.gemfile"
22
+ - "gemfiles/no_dependencies.gemfile"
23
+ - "gemfiles/padrino.gemfile"
24
+ - "gemfiles/rails-3.2.gemfile"
25
+ - "gemfiles/rails-4.0.gemfile"
26
+ - "gemfiles/rails-4.1.gemfile"
27
+ - "gemfiles/rails-4.2.gemfile"
28
+ - "gemfiles/rails-5.0.gemfile"
29
+ - "gemfiles/rails-5.1.gemfile"
30
+ - "gemfiles/resque.gemfile"
31
+ - "gemfiles/sequel.gemfile"
32
+ - "gemfiles/sequel-435.gemfile"
33
+ - "gemfiles/sinatra.gemfile"
34
+ - "gemfiles/grape.gemfile"
35
+ - "gemfiles/webmachine.gemfile"
36
+ - "gemfiles/que.gemfile"
37
+
38
+ matrix:
39
+ fast_finish: true
40
+ include:
41
+ - rvm: "2.3.0"
42
+ gemfile: "gemfiles/no_dependencies.gemfile"
43
+ script: "bundle exec rubocop"
44
+ exclude:
45
+ # Rails 5 doesn't support Ruby < 2.2
46
+ - rvm: "2.0.0"
47
+ gemfile: "gemfiles/rails-5.0.gemfile"
48
+ - rvm: "2.1.8"
49
+ gemfile: "gemfiles/rails-5.0.gemfile"
50
+ - rvm: "2.0.0"
51
+ gemfile: "gemfiles/rails-5.1.gemfile"
52
+ - rvm: "2.1.8"
53
+ gemfile: "gemfiles/rails-5.1.gemfile"
54
+
55
+ allow_failures:
56
+ - rvm: "2.4.0"
57
+ gemfile: "gemfiles/rails-4.0.gemfile"
58
+ - rvm: "2.4.0"
59
+ gemfile: "gemfiles/rails-4.1.gemfile"
60
+
61
+ env:
62
+ global:
63
+ - "RAILS_ENV=test"
64
+ - "JRUBY_OPTS=''" # Workaround https://github.com/travis-ci/travis-ci/issues/6471
65
+
66
+ before_install:
67
+ - "gem update --system"
68
+ - "gem update bundler"
69
+ before_script:
70
+ - "bundle exec rake extension:install"
71
+
72
+ script: "bundle exec rake test"
@@ -0,0 +1,8 @@
1
+ --protected
2
+ --no-private
3
+ --output-dir doc
4
+ --markup markdown
5
+ -
6
+ CHANGELOG.md
7
+ LICENSE
8
+ README.md
@@ -0,0 +1,639 @@
1
+ # 2.5.0 (Alpha)
2
+ * Add jRuby support. PR #376
3
+
4
+ # 2.4.3
5
+ * Store more details for Redis events. PR #374
6
+
7
+ # 2.4.2
8
+ * Store agent architecture rather than platform. PR #367
9
+ * Improve documentation for `Appsignal.monitor_transaction` better.
10
+ Commit e53987ba36a79fc8883f2e59322946297ddee773
11
+ * Change log level from info to debug for value comparing failures.
12
+ Commit ecef28b28edaff46b95f53a916c93021dc763160
13
+ * Collect free memory host metric.
14
+ Commit ecef28b28edaff46b95f53a916c93021dc763160
15
+ * Fix crashes when Set wasn't required before AppSignal, such as in the CLI.
16
+ PR #373
17
+
18
+ # 2.4.1
19
+ * Add Que integration. PR #361
20
+ * Support Sidekiq delayed extension job action names better. Now action names
21
+ are reported as their class and class method name (`MyClass.method`), rather
22
+ than `Sidekiq::Extensions::DelayedClass#perform` for all jobs through that
23
+ extension. PR #362
24
+ * Support Sidekiq Enterprise encrypted values. PR #365
25
+ * Use musl build for older libc systems. PR #366
26
+
27
+ # 2.4.0
28
+ - Add separate GNU linux build. PR #351 and
29
+ Commit d1763f4dcb685608468a73f3192226f60f66b217
30
+ - Add separate FreeBSD build
31
+ Commit d1763f4dcb685608468a73f3192226f60f66b217
32
+ - Fix crashes when using a transaction from multiple processes in an
33
+ unsupported way.
34
+ Commit d1763f4dcb685608468a73f3192226f60f66b217
35
+ - Auto restart agent when none is running
36
+ Commit d1763f4dcb685608468a73f3192226f60f66b217
37
+ - Add `appsignal_user` Capistrano config option. PR #355
38
+ - Track Exception-level exceptions. PR #356
39
+ - Add tags and namespace arguments to `Appsignal.listen_for_error`. PR #357
40
+ - Revert Sidekiq delayed extension job action names fix.
41
+ Commit 9b84a098604de5ef5e52645ba7fcb09d84f66eaa
42
+
43
+ # 2.3.7
44
+ * Support Sidekiq delayed extension job action names better. Now action names
45
+ are reported as their class and class method name (`MyClass.method`), rather
46
+ than `Sidekiq::Extensions::DelayedClass#perform` for all jobs through that
47
+ extension. PR #348
48
+
49
+ # 2.3.6
50
+ * Allow configuration of permissions of working directory. PR #336
51
+ * Fix locking bug that delayed extension shutdown.
52
+ Commit 51d90bb1207affc2c88f7cff5035a2c36acf9784
53
+ * Log extension start with app revision if present
54
+ Commit 51d90bb1207affc2c88f7cff5035a2c36acf9784
55
+
56
+ # 2.3.5
57
+
58
+ Yanked
59
+
60
+ # 2.3.4
61
+ * Fix naming for ActiveJob integration with DelayedJob. PR #345
62
+
63
+ # 2.3.3
64
+ * Accept mixed case env variable values for the `true` value. PR #333
65
+ * Don't record sensitive HTTP_X_AUTH_TOKEN header. PR #334
66
+ * Support dry run option for Capistrano 3.5.0 and higher. PR #339
67
+ * Agent and extension update. Improve agent connection handling. Commit
68
+ e75d2f9b520d46f6cd0266b484b2c26c3bdc8882
69
+
70
+ # 2.3.2
71
+ * Improve Rake argument handling. Allow for more detailed view of which
72
+ arguments a tasks receives. PR #328
73
+
74
+ # 2.3.1
75
+ * Fix ActiveSupport::Notifications hook not supporting non-string names for
76
+ events. PR #324
77
+
78
+ # 2.3.0
79
+ * Fix Shoryuken instrumentation when body is a string. PR #266
80
+ * Enable ActiveSupport instrumentation at all times. PR #274
81
+ * Add parameter filtering for background jobs. Automatically uses the AppSignal
82
+ parameter filtering. PR #280
83
+ * Improve log messages for transactions. PR #293
84
+ * Remove thread_safe dependency. PR #294
85
+ * Add `Transaction#params` attribute for custom parameters. PR #295
86
+ * Fix queue time on DelayedJob integration. PR #297
87
+ * Add ActionCable support. PR #309
88
+ * Finish ActiveSupport notifications events when they would encounter a `raise`
89
+ or a `throw`. PR #310
90
+ * Add `ignore_namespaces` option. PR #312
91
+ * Truncate lengthy parameter values to 2000 characters.
92
+ Commit 65de1382f5f453b624781cde6e0544c89fdf89ef and
93
+ d3ca2a545fb22949f3369692dd57d49b4936c739.
94
+ * Disable gracefully on Microsoft Windows. PR #313
95
+ * Add tags and namespace arguments to `Appsignal.set_error`. PR #317
96
+
97
+ # 2.2.1
98
+ * Fix support for Rails 5.1. PR #286
99
+ * Fix instrumentation that would report a duration of `0ms` for all DataMapper
100
+ queries. PR #290
101
+ * Finish events when `Appsignal.instrument` encounters a `raise` or a `throw`.
102
+ PR #292
103
+
104
+ # 2.2.0
105
+ * Support Ruby 2.4 better. PR #234
106
+ * Initial setup for documenting the Ruby gem's code. PR #243
107
+ * Move `running_in_container` auto detection to extension for easy reuse.
108
+ PR #249
109
+ * Allow overriding of action and namespace for a transaction. PR #254
110
+ * Prefix all agent configuration environment variables with an underscore to
111
+ separate the two usages. PR #258
112
+ * Force agent to run in diagnostic mode even when the user config is set to
113
+ `active: false`. PR #260
114
+ * Stub JS error catching endpoint when not active. PR #263
115
+ * Use better event names for Padrino integration. PR #265
116
+ * No longer gzip payloads send by the Ruby gem transmitter. PR #269
117
+ * Send diagnostics data report to AppSignal on request. PR #270
118
+ * When JS exception endpoint payload is empty return 400 code. PR #271
119
+ * Remove hardcoded DNS servers from agent and add config option. PR #278
120
+
121
+ # 2.1.2
122
+ * Fix error with Grape request methods defined with symbols. PR #259
123
+
124
+ # 2.1.1
125
+ * Fix DNS issue related to the musl build.
126
+ Commit 732c877de8faceabe8a977bf80a82a6a89065c4d and
127
+ 84e521d20d4438f7b1dda82d5e9f1f533ae27c4b
128
+ * Update benchmark and add load test. PR #248
129
+ * Fix configuring instrument Redis and Sequel from env. PR #257
130
+
131
+ # 2.1.0
132
+ * Add support for musl based libc (Alpine Linux). PR #229
133
+ * Implement `Appsignal.is_ignored_error?` and `Appsignal.is_ignored_action?`
134
+ logic in the AppSignal extension. PR #224
135
+ * Deprecate `Appsignal.is_ignored_error?`. PR #224
136
+ * Deprecate `Appsignal.is_ignored_action?`. PR #224
137
+ * Enforce a coding styleguide with RuboCop. PR #226
138
+ * Remove unused `Appsignal.agent` attribute. PR #244
139
+ * Deprecate unused `Appsignal::AuthCheck` logger argument. PR #245
140
+
141
+ # 2.0.6
142
+ * Fix `Appsignal::Transaction#record_event` method call. PR #240
143
+
144
+ # 2.0.5
145
+ * Improved logging for agent connection issues.
146
+ Commit cdf9d3286d704e22473eb901c839cab4fab45a6f
147
+ * Handle nil request/environments in transactions. PR #231
148
+
149
+ # 2.0.4
150
+ * Use consistent log format for both file and STDOUT logs. PR #203
151
+ * Fix log path in `appsignal diagnose` for Rails applications. PR #218, #222
152
+ * Change default log path to `./log` rather than project root for all non-Rails
153
+ applications. PR #222
154
+ * Load the `APPSIGNAL_APP_ENV` environment configuration option consistently
155
+ for all integrations. PR #204
156
+ * Support the `--environment` option on the `appsignal diagnose` command. PR
157
+ #214
158
+ * Use the real system `/tmp` directory, not a symlink. PR #219
159
+ * Run the AppSignal agent in diagnose mode in the `appsignal diagnose` command.
160
+ PR #221
161
+ * Test for directory and file ownership and permissions in the
162
+ `appsignal diagnose` command. PR #216
163
+ * Test if current user is `root` in the `appsignal diagnose` command. PR #215
164
+ * Output last couple of lines from `appsignal.log` on agent connection
165
+ failures.
166
+ * Agent will no longer fail to start if no writable log path is found.
167
+ Commit 8920865f6158229a46ed4bd1cc98d99a849884c0, change in agent.
168
+ * Internal refactoring of the test suite and the `appsignal install` command.
169
+ PR #200, #205
170
+
171
+ # 2.0.3
172
+ * Fix JavaScript exception catcher throwing an error on finishing a
173
+ transaction. PR #210
174
+
175
+ # 2.0.2
176
+ * Fix Sequel instrumentation overriding existing logic from extensions. PR #209
177
+
178
+ # 2.0.1
179
+ * Fix configuration load order regression for the `APPSIGNAL_PUSH_API_KEY`
180
+ environment variable's activation behavior. PR #208
181
+
182
+ # 2.0.0
183
+ * Add `Appsignal.instrument_sql` convenience methods. PR #136
184
+ * Use `Appsignal.instrument` internally instead of ActiveSupport
185
+ instrumentation. PR #142
186
+ * Override ActiveSupport instrument instead of subscribing. PR #150
187
+ * Remove required dependency on ActiveSupport. Recommended you use
188
+ `Appsignal.instrument` if you don't need `ActiveSupport`. PR #150 #142
189
+ * Use have_library to link the AppSignal extension `libappsignal`. PR #148
190
+ * Rename `appsignal_extension.h` to `appsignal.h`.
191
+ Commit 9ed7c8d83f622d5a79c5c21d352b3360fd7e8113
192
+ * Refactor rescuing of Exception. PR #173
193
+ * Use GC::Profiler to track garbage collection time. PR #134
194
+ * Detect if AppSignal is running in a container or Heroku. PR #177 #178
195
+ * Change configuration load order to load environment settings after
196
+ `appsignal.yml`. PR #178
197
+ * Speed up payload generation by letting the extension handle it. PR #175
198
+ * Improve `appsignal diagnose` formatting and output more data. PR #187
199
+ * Remove outdated `appsignal:diagnose` rake tasks. Use `appsignal diagnose`
200
+ instead. PR #193
201
+ * Fix JavaScript exception without names resulting in errors themselves. PR #188
202
+ * Support namespaces in Grape routes. PR #189
203
+ * Change STDOUT output to always mention "AppSignal", not "Appsignal". PR #192
204
+ * `appsignal notify_of_deploy` refactor. `--name` will override any
205
+ other `name` config. `--environment` is only required if it's not set in the
206
+ environment. PR #194
207
+ * Allow logging to STDOUT. Available for the Ruby gem and C extension. The
208
+ `appsignal-agent` process will continue log to file. PR #190
209
+ * Remove deprecated methods. PR #191
210
+ * Send "ruby" implementation name with version number for better identifying
211
+ different language implementations. PR #198
212
+ * Send demonstration samples to AppSignal using the `appsignal install`
213
+ command instead of asking the user to start their app. PR #196
214
+ * Add `appsignal demo` command to test the AppSignal demonstration samples
215
+ instrumentation manually and not just during the installation. PR #199
216
+
217
+ # 1.3.6
218
+ * Support blocks arguments on method instrumentation. PR #163
219
+ * Support `APPSIGNAL_APP_ENV` for Sinatra. PR #164
220
+ * Remove Sinatra install step from "appsignal install". PR #165
221
+ * Install Capistrano integration in `Capfile` instead of `deploy.rb`. #166
222
+ * More robust handing of non-writable log files. PR #160 #158
223
+ * Cleaner internal exception handling. PR #169 #170 #171 #172 #173
224
+ * Support for mixed case keywords in sql lexing. appsignal/sql_lexer#8
225
+ * Support for inserting multiple rows in sql lexing. appsignal/sql_lexer#9
226
+ * Add session_overview to JS transaction data.
227
+ Commit af2d365bc124c01d7e9363e8d825404027835765
228
+
229
+ # 1.3.5
230
+
231
+ * Fix SSL certificate config in appsignal-agent. PR #151
232
+ * Remove mounted_at Sinatra middleware option. Now detected by default. PR #146
233
+ * Sinatra applications with middleware loading before AppSignal's middleware
234
+ would crash a request. Fixed in PR #156
235
+
236
+ # 1.3.4
237
+
238
+ * Fix argument order for `record_event` in the AppSignal extension
239
+
240
+ # 1.3.3
241
+
242
+ * Output AppSignal environment on `appsignal diagnose`
243
+ * Prevent transaction crashes on Sinatra routes with optional parameters
244
+ * Listen to `stage` option to Capistrano 2 for automatic environment detection
245
+ * Add `appsignal_env` option to Capistrano 2 to set a custom environment
246
+
247
+ # 1.3.2
248
+ * Add method to discard a transaction
249
+ * Run spec suite with warnings, fixes for warnings
250
+
251
+ # 1.3.1
252
+ * Bugfix for problem when requiring config from installer
253
+
254
+ # 1.3.0
255
+ * Host metrics is now enabled by default
256
+ * Beta of minutely probes including GC metrics
257
+ * Refactor of param sanitization
258
+ * Param filtering for non-Rails frameworks
259
+ * Support for modular Sinatra applications
260
+ * Add Sinatra middleware to `Sinatra::Base` by default
261
+ * Allow a new transaction to be forced by sinatra instrumentation
262
+ * Allow hostname to be set with environment variable
263
+ * Helpers for easy method instrumentation
264
+ * `Appsignal.instrument` helper to easily instrument blocks of code
265
+ * `record_event` method to instrument events without a start hook
266
+ * `send_params` is now configurable via the environment
267
+ * Add DataMapper integration
268
+ * Add webmachine integration
269
+ * Allow overriding Padrino environment with APPSIGNAL_APP_ENV
270
+ * Add mkmf.log to diagnose command
271
+ * Allow for local install with bundler `bundle exec rake install`
272
+ * Listen to `stage` option to Capistrano 3 for automatic environment detection
273
+ * Add `appsignal_env` option to Capistrano 3 to set a custom environment
274
+
275
+ # 1.2.5
276
+ * Bugfix in CPU utilization calculation for host metrics
277
+
278
+ # 1.2.4
279
+ * Support for adding a namespace when mounting Sinatra apps in Rails
280
+ * Support for negative numbers and ILIKE in the sql lexer
281
+
282
+ # 1.2.3
283
+ * Catch nil config for installer and diag
284
+ * Minor performance improvements
285
+ * Support for arrays, literal value types and function arguments in sql lexer
286
+
287
+ # 1.2.2
288
+ * Handle out of range numbers in queue lenght and metrics api
289
+
290
+ # 1.2.1
291
+ * Use Dir.pwd in CLI install wizard
292
+ * Support bignums when setting queue length
293
+ * Support for Sequel 4.35
294
+ * Add env option to skip errors in Sinatra
295
+ * Fix for queue time calculation in Sidekiq (by lucasmazza)
296
+
297
+ # 1.2.0
298
+ * Restart background thread when FD's are closed
299
+ * Beta version of collecting host metrics (disabled by default)
300
+ * Hooks for Shuryoken
301
+ * Don't add errors from env if raise_errors is off for Sinatra
302
+
303
+ # 1.1.9
304
+ * Fix for race condition when creating working dir exactly at the same time
305
+ * Make diag Rake task resilient to missing config
306
+
307
+ # 1.1.8
308
+ * Require json to fix problem with using from Capistrano
309
+
310
+ # 1.1.7
311
+ * Make logging resilient for closing FD's (daemons gem does this)
312
+ * Add support for using Resque through ActiveJob
313
+ * Rescue more expections in json generation
314
+
315
+ # 1.1.6
316
+ * Generic Rack instrumentation middleware
317
+ * Event formatter for Faraday
318
+ * Rescue and log errors in transaction complete and fetching params
319
+
320
+ # 1.1.5
321
+ * Support for null in sql sanitization
322
+ * Add require to deploy.rb if present on installation
323
+ * Warn when overwriting already existing transaction
324
+ * Support for x86-linux
325
+ * Some improvements in debug logging
326
+ * Check of log file path is writable
327
+ * Use bundled CA certs when installing agent
328
+
329
+ # 1.1.4
330
+ * Better debug logging for agent issues
331
+ * Fix for exception with nil messages
332
+ * Fix for using structs as job params in Delayed Job
333
+
334
+ # 1.1.3
335
+ * Fix for issue where Appsignal.send_exception clears the current
336
+ transaction if it is present
337
+ * Rails 3.0 compatibility fix
338
+
339
+ # 1.1.2
340
+ * Bug fix in notify of deploy cli
341
+ * Better support for nil, true and false in sanitization
342
+
343
+ # 1.1.1
344
+ * Collect global metrics for GC durations (in beta, disabled by default)
345
+ * Collect params from Delayed Job in a reliable way
346
+ * Collect perams for Delayed Job and Sidekiq when using ActiveJob
347
+ * Official Grape support
348
+ * Easier installation using `bundle exec appsignal install`
349
+
350
+ # 1.1.0
351
+ Yanked
352
+
353
+ # 1.0.7
354
+ * Another multibyte bugfix in sql sanizitation
355
+
356
+ # 1.0.6
357
+ * Bugfix in sql sanitization when using multibyte utf-8 characters
358
+
359
+ # 1.0.5
360
+ * Improved sql sanitization
361
+ * Improved mongoid/mongodb sanitization
362
+ * Minor performance improvements
363
+ * Better handling for non-utf8 convertable strings
364
+ * Make gem installable (but not functional) on jRuby
365
+
366
+ # 1.0.4
367
+ * Make working dir configurable using `APPSIGNAL_WORKING_DIR_PATH` or `:working_dir_path`
368
+
369
+ # 1.0.3
370
+ * Fix bug in completing JS transactions
371
+ * Make Resque integration robust for bigger payloads
372
+ * Message in logs if agent logging cannot initialize
373
+ * Call `to_s` on DJ id to see the id when using MongoDB
374
+
375
+ # 1.0.2
376
+ * Bug fix in format of process memory measurements
377
+ * Event formatter for `instantiation.active_record`
378
+ * Rake integration file for backwards compatibility
379
+ * Don't instrument mongo-ruby-driver when transaction is not present
380
+ * Accept method calls on extension if it's not loaded
381
+ * Fix for duplicate notifications subscriptions when forking
382
+
383
+ # 1.0.1
384
+ * Fix for bug in gem initialization when using `safe_yaml` gem
385
+
386
+ # 1.0.0
387
+ * New version of event formatting and collection
388
+ * Use native library and agent
389
+ * Use API V2
390
+ * Support for Mongoid 5
391
+ * Integration into other gems with a hooks system
392
+ * Lots of minor bug fixes and improvements
393
+
394
+ # 0.11.15
395
+ * Improve Sinatra support
396
+
397
+ # 0.11.14
398
+ * Support ActiveJob wrapped jobs
399
+ * Improve proxy support
400
+ * Improve rake support
401
+
402
+ # 0.11.13
403
+ * Add Padrino support
404
+ * Add Rake task monitoring
405
+ * Add http proxy support
406
+ * Configure Net::HTTP to only use TLS
407
+ * Don't send queue if there is no content
408
+ * Don't retry transmission when response code is 400 (no content)
409
+ * Don't start Resque IPC server when AppSignal is not active
410
+ * Display warning message when attempting to send a non-exception to `send_exception`
411
+ * Fix capistrano 2 detection
412
+ * Fix issue with Sinatra integration attempting to attach an exception to a transaction that doesn't exist.
413
+
414
+ # 0.11.12
415
+ * Sanitizer will no longer inspect unknown objects, since implementations of inspect sometimes trigger unexpected behavior.
416
+
417
+ # 0.11.11
418
+ * Reliably get errors in production for Sinatra
419
+
420
+ # 0.11.10
421
+ * Fix for binding bug in exceptions in Resque
422
+ * Handle invalidly encoded characters in payload
423
+
424
+ # 0.11.9
425
+ * Fix for infinite attempts to transmit if there is no valid api key
426
+
427
+ # 0.11.8
428
+ * Add frontend error catcher
429
+ * Add background job metadata (queue, priority etc.) to transaction overview
430
+ * Add APPSIGNAL_APP_ENV variable to Rails config, so you can override the environment
431
+ * Handle http queue times in microseconds too
432
+
433
+ # 0.11.7
434
+ * Add option to override Job name in Delayed Job
435
+
436
+ # 0.11.6
437
+ * Use `APPSIGNAL_APP_NAME` and `APPSIGNAL_ACTIVE` env vars in config
438
+ * Better Sinatra support: Use route as action and set session data for Sinatra
439
+
440
+ # 0.11.5
441
+ * Add Sequel gem support (https://github.com/jeremyevans/sequel)
442
+
443
+ # 0.11.4
444
+ * Make `without_instrumentation` thread safe
445
+
446
+ # 0.11.3
447
+ * Support Ruby 1.9 and up instead of 1.9.3 and up
448
+
449
+ # 0.11.2
450
+ * If APP_REVISION environment variable is set, send it with the log entry.
451
+
452
+ # 0.11.1
453
+ * Allow a custom request_class and params_method on Rack instrumentation
454
+ * Loop through env methods instead of env
455
+ * Add HTTP_CLIENT_IP to env methods
456
+
457
+ # 0.11.0
458
+ * Improved inter process communication
459
+ * Retry sending data when the push api is not reachable
460
+ * Our own event handling to allow for more flexibility and reliability
461
+ when using a threaded environment
462
+ * Resque officially supported!
463
+
464
+ # 0.10.6
465
+ * Add config option to skip session data
466
+
467
+ # 0.10.5
468
+ * Don't shutdown in `at_exit`
469
+ * Debug log about missing name in config
470
+
471
+ # 0.10.4
472
+ * Add REQUEST_URI and PATH_INFO to env params whitelist
473
+
474
+ # 0.10.3
475
+ * Shut down all operations when agent is not active
476
+ * Separately rescue OpenSSL::SSL::SSLError
477
+
478
+ # 0.10.2
479
+ * Bugfix in event payload sanitization
480
+
481
+ # 0.10.1
482
+ * Bugfix in event payload sanitization
483
+
484
+ # 0.10.0
485
+ * Remove ActiveSupport dependency
486
+ * Use vendored notifications if ActiveSupport is not present
487
+ * Update bundled CA certificates
488
+ * Fix issue where backtrace can be nil
489
+ * Use Appsignal.monitor_transaction to instrument and log errors for
490
+ custom actions
491
+ * Add option to ignore a specific action
492
+
493
+ # 0.9.6
494
+ * Convert to primitives before sending through pipe
495
+
496
+ # 0.9.5
497
+ Yanked
498
+
499
+ # 0.9.4
500
+ * Log Rails and Sinatra version
501
+ * Resubscribe to notifications after fork
502
+
503
+ # 0.9.3
504
+ * Log if appsignal is not active for an environment
505
+
506
+ # 0.9.2
507
+ * Log Ruby version and platform on startup
508
+ * Log reason of shutting down agent
509
+
510
+ # 0.9.1
511
+ * Some debug logging tweaks
512
+
513
+ # 0.9.0
514
+ * Add option to override Capistrano revision
515
+ * Expanded deploy message in Capistrano
516
+ * Refactor of usage of Thread.local
517
+ * Net::HTTP instrumentation
518
+ * Capistrano 3 support
519
+
520
+ # 0.8.15
521
+ * Exception logging in agent thread
522
+
523
+ # 0.8.14
524
+ * Few tweaks in logging
525
+ * Clarify Appsignal::Transaction.complete! code
526
+
527
+ # 0.8.13
528
+ * Random sleep time before first transmission of queue
529
+
530
+ # 0.8.12
531
+ * Workaround for frozen string in Notification events
532
+ * Require ActiveSupport::Notifications to be sure it's available
533
+
534
+ # 0.8.11
535
+ * Skip enqueue, send_exception and add_exception if not active
536
+
537
+ # 0.8.10
538
+ * Bugfix: Don't pause agent when it's not active
539
+
540
+ # 0.8.9
541
+ Yanked
542
+
543
+ # 0.8.8
544
+ * Explicitely require securerandom
545
+
546
+ # 0.8.7
547
+ * Dup process action event to avoid threading issue
548
+ * Rescue failing inspects in param sanitizer
549
+ * Add option to pause instrumentation
550
+
551
+ # 0.8.6
552
+ * Resque support (beta)
553
+ * Support tags in Appsignal.send_exception
554
+ * Alias tag_request to tag_job, for background jobs
555
+ * Skip sanitization of env if env is nil
556
+ * Small bugfix in forking logic
557
+ * Don't send params if send_params is off in config
558
+ * Remove --repository option in CLI
559
+ * Name option in appsignal notify_of_deploy CLI
560
+ * Don't call to_hash on ENV
561
+ * Get error message in CLI when config is not active
562
+
563
+ # 0.8.5
564
+ * Don't require revision in CLI notify_of_deploy
565
+
566
+ # 0.8.4
567
+ * Skip session sanitize if not a http request
568
+ * Use appsignal_config in Capistrano as initial config
569
+
570
+ # 0.8.3
571
+ * Restart thread when we've been forked
572
+ * Only notify of deploy when active in capistrano
573
+ * Make sure env is a string in config
574
+
575
+ # 0.8.2
576
+ * Bugfix in Delayed Job integration
577
+ * appsignal prefix when logging to stdout
578
+ * Log to stdout on Shelly Cloud
579
+
580
+ # 0.8.1
581
+ * Fix in monitoring of queue times
582
+
583
+ # 0.8.0
584
+ * Support for background processors (Delayed Job and Sidekiq)
585
+
586
+ # 0.7.1
587
+ * Better support for forking webservers
588
+
589
+ # 0.7.0
590
+ * Mayor refactor and cleanup
591
+ * New easier onboarding process
592
+ * Support for Rack apps, including experimental Sinatra integration
593
+ * Monitor HTTP queue times
594
+ * Always log to stdout on Heroku
595
+
596
+ # 0.6.7
597
+ * Send HTTP_X_FORWARDED_FOR env var
598
+
599
+ # 0.6.6
600
+ * Add Appsignal.add_exception
601
+
602
+ # 0.6.5
603
+ * Fix bug where fast requests are tracked with wrong action
604
+
605
+ # 0.6.4
606
+ * More comprehensive debug logging
607
+
608
+ # 0.6.3
609
+ * Use a mutex around access to the aggregator
610
+ * Bugfix for accessing connection config in Rails 3.0
611
+ * Add Appsignal.tag_request
612
+ * Only warn if there are duplicate push keys
613
+
614
+ # 0.6.2
615
+ * Bugfix in backtrace cleaner usage for Rails 4
616
+
617
+ # 0.6.1
618
+ * Bugfix in Capistrano integration
619
+
620
+ # 0.6.0
621
+ * Support for Rails 4
622
+ * Data that's posted to AppSignal is now gzipped
623
+ * Add Appsignal.send_exception and Appsignal.listen_for_exception
624
+ * We now us the Rails backtrace cleaner
625
+
626
+ # 0.5.5
627
+ * Fix minor bug
628
+
629
+ # 0.5.4
630
+ * Debug option in config to get detailed logging
631
+
632
+ # 0.5.3
633
+ * Fix minor bug
634
+
635
+ # 0.5.2
636
+ * General improvements to the Rails generator
637
+ * Log to STDOUT if writing to log/appsignal.log is not possible (Heroku)
638
+ * Handle the last transactions before the rails process shuts down
639
+ * Require 'erb' to enable dynamic config