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,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