skylight 3.1.4 → 5.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +465 -294
  3. data/CLA.md +1 -1
  4. data/CONTRIBUTING.md +11 -3
  5. data/ERRORS.md +3 -0
  6. data/LICENSE.md +8 -18
  7. data/README.md +1 -2
  8. data/bin/skylight +1 -1
  9. data/ext/extconf.rb +118 -122
  10. data/ext/libskylight.yml +8 -6
  11. data/ext/skylight_native.c +56 -100
  12. data/lib/skylight/api.rb +41 -27
  13. data/lib/skylight/cli/doctor.rb +68 -70
  14. data/lib/skylight/cli/helpers.rb +3 -5
  15. data/lib/skylight/cli/merger.rb +99 -92
  16. data/lib/skylight/cli.rb +40 -43
  17. data/lib/skylight/config.rb +656 -201
  18. data/lib/skylight/data/cacert.pem +730 -1023
  19. data/lib/skylight/deprecation.rb +17 -0
  20. data/lib/skylight/errors.rb +34 -16
  21. data/lib/skylight/extensions/source_location.rb +291 -0
  22. data/lib/skylight/extensions.rb +95 -0
  23. data/lib/skylight/formatters/http.rb +18 -0
  24. data/lib/skylight/gc.rb +99 -0
  25. data/lib/skylight/helpers.rb +82 -39
  26. data/lib/skylight/instrumenter.rb +339 -9
  27. data/lib/skylight/middleware.rb +147 -1
  28. data/lib/skylight/native.rb +71 -23
  29. data/lib/skylight/native_ext_fetcher.rb +39 -47
  30. data/lib/skylight/normalizers/action_controller/process_action.rb +68 -0
  31. data/lib/skylight/normalizers/action_controller/send_file.rb +51 -0
  32. data/lib/skylight/normalizers/action_dispatch/process_middleware.rb +22 -0
  33. data/lib/skylight/normalizers/action_dispatch/route_set.rb +27 -0
  34. data/lib/skylight/normalizers/action_view/render_collection.rb +24 -0
  35. data/lib/skylight/normalizers/action_view/render_layout.rb +25 -0
  36. data/lib/skylight/normalizers/action_view/render_partial.rb +23 -0
  37. data/lib/skylight/normalizers/action_view/render_template.rb +23 -0
  38. data/lib/skylight/normalizers/active_job/perform.rb +87 -0
  39. data/lib/skylight/normalizers/active_model_serializers/render.rb +32 -0
  40. data/lib/skylight/normalizers/active_record/instantiation.rb +16 -0
  41. data/lib/skylight/normalizers/active_record/sql.rb +20 -0
  42. data/lib/skylight/normalizers/active_storage.rb +28 -0
  43. data/lib/skylight/normalizers/active_support/cache.rb +11 -0
  44. data/lib/skylight/normalizers/active_support/cache_clear.rb +16 -0
  45. data/lib/skylight/normalizers/active_support/cache_decrement.rb +16 -0
  46. data/lib/skylight/normalizers/active_support/cache_delete.rb +16 -0
  47. data/lib/skylight/normalizers/active_support/cache_exist.rb +16 -0
  48. data/lib/skylight/normalizers/active_support/cache_fetch_hit.rb +16 -0
  49. data/lib/skylight/normalizers/active_support/cache_generate.rb +16 -0
  50. data/lib/skylight/normalizers/active_support/cache_increment.rb +16 -0
  51. data/lib/skylight/normalizers/active_support/cache_read.rb +16 -0
  52. data/lib/skylight/normalizers/active_support/cache_read_multi.rb +16 -0
  53. data/lib/skylight/normalizers/active_support/cache_write.rb +16 -0
  54. data/lib/skylight/normalizers/coach/handler_finish.rb +44 -0
  55. data/lib/skylight/normalizers/coach/middleware_finish.rb +33 -0
  56. data/lib/skylight/normalizers/couch_potato/query.rb +20 -0
  57. data/lib/skylight/normalizers/data_mapper/sql.rb +12 -0
  58. data/lib/skylight/normalizers/default.rb +24 -0
  59. data/lib/skylight/normalizers/elasticsearch/request.rb +20 -0
  60. data/lib/skylight/normalizers/faraday/request.rb +38 -0
  61. data/lib/skylight/normalizers/grape/endpoint.rb +28 -0
  62. data/lib/skylight/normalizers/grape/endpoint_render.rb +25 -0
  63. data/lib/skylight/normalizers/grape/endpoint_run.rb +39 -0
  64. data/lib/skylight/normalizers/grape/endpoint_run_filters.rb +20 -0
  65. data/lib/skylight/normalizers/grape/format_response.rb +20 -0
  66. data/lib/skylight/normalizers/graphiti/render.rb +22 -0
  67. data/lib/skylight/normalizers/graphiti/resolve.rb +31 -0
  68. data/lib/skylight/normalizers/graphql/base.rb +127 -0
  69. data/lib/skylight/normalizers/render.rb +79 -0
  70. data/lib/skylight/normalizers/sequel/sql.rb +12 -0
  71. data/lib/skylight/normalizers/shrine.rb +32 -0
  72. data/lib/skylight/normalizers/sql.rb +41 -0
  73. data/lib/skylight/normalizers.rb +157 -0
  74. data/lib/skylight/probes/action_controller.rb +52 -0
  75. data/lib/skylight/probes/action_dispatch/request_id.rb +33 -0
  76. data/lib/skylight/probes/action_dispatch/routing/route_set.rb +30 -0
  77. data/lib/skylight/probes/action_dispatch.rb +2 -0
  78. data/lib/skylight/probes/action_view.rb +42 -0
  79. data/lib/skylight/probes/active_job.rb +27 -0
  80. data/lib/skylight/probes/active_job_enqueue.rb +35 -0
  81. data/lib/skylight/probes/active_model_serializers.rb +50 -0
  82. data/lib/skylight/probes/active_record_async.rb +96 -0
  83. data/lib/skylight/probes/delayed_job.rb +144 -0
  84. data/lib/skylight/probes/elasticsearch.rb +45 -0
  85. data/lib/skylight/probes/excon/middleware.rb +65 -0
  86. data/lib/skylight/probes/excon.rb +25 -0
  87. data/lib/skylight/probes/faraday.rb +23 -0
  88. data/lib/skylight/probes/graphql.rb +38 -0
  89. data/lib/skylight/probes/httpclient.rb +44 -0
  90. data/lib/skylight/probes/middleware.rb +135 -0
  91. data/lib/skylight/probes/mongo.rb +169 -0
  92. data/lib/skylight/probes/mongoid.rb +6 -0
  93. data/lib/skylight/probes/net_http.rb +54 -0
  94. data/lib/skylight/probes/rack_builder.rb +37 -0
  95. data/lib/skylight/probes/redis.rb +68 -0
  96. data/lib/skylight/probes/sequel.rb +29 -0
  97. data/lib/skylight/probes/sinatra.rb +66 -0
  98. data/lib/skylight/probes/sinatra_add_middleware.rb +10 -10
  99. data/lib/skylight/probes/tilt.rb +25 -0
  100. data/lib/skylight/probes.rb +172 -0
  101. data/lib/skylight/railtie.rb +172 -15
  102. data/lib/skylight/sidekiq.rb +47 -0
  103. data/lib/skylight/sinatra.rb +2 -2
  104. data/lib/skylight/subscriber.rb +130 -0
  105. data/lib/skylight/test.rb +147 -0
  106. data/lib/skylight/trace.rb +331 -15
  107. data/lib/skylight/user_config.rb +60 -0
  108. data/lib/skylight/util/allocation_free.rb +26 -0
  109. data/lib/skylight/util/clock.rb +57 -0
  110. data/lib/skylight/util/component.rb +47 -9
  111. data/lib/skylight/util/deploy.rb +24 -40
  112. data/lib/skylight/util/gzip.rb +20 -0
  113. data/lib/skylight/util/hostname.rb +4 -4
  114. data/lib/skylight/util/http.rb +62 -71
  115. data/lib/skylight/util/instrumenter_method.rb +26 -0
  116. data/lib/skylight/util/logging.rb +136 -0
  117. data/lib/skylight/util/lru_cache.rb +36 -0
  118. data/lib/skylight/util/platform.rb +74 -0
  119. data/lib/skylight/util/proxy.rb +13 -0
  120. data/lib/skylight/util/ssl.rb +4 -28
  121. data/lib/skylight/util.rb +12 -0
  122. data/lib/skylight/vendor/cli/thor/rake_compat.rb +1 -1
  123. data/lib/skylight/version.rb +5 -1
  124. data/lib/skylight/vm/gc.rb +60 -0
  125. data/lib/skylight.rb +213 -24
  126. metadata +171 -53
data/CHANGELOG.md CHANGED
@@ -1,562 +1,733 @@
1
- ## 3.1.4
2
- * [BUGFIX] ActiveJob#perform_now should not reassign the endpoint name
1
+ ## 5.3.4 (October 17, 2022)
3
2
 
4
- ## 3.1.3
5
- * [BUGFIX] skylightd should close cloned file descriptors on startup
6
- * [BUGFIX] Convert numeric git shas to strings
3
+ - [BUGFIX] Fix a middleware response method that was incompatible with Puma >= 6.
4
+ - [IMPROVEMENT] Improved support for Redis v5
5
+
6
+ ## 5.3.3 (July 13, 2022)
7
+
8
+ - [IMPROVEMENT] Track the original class/method name for Sidekiq delayed object proxies
9
+ - [BUGFIX] Fix `mongoid` probe not activating correctly
10
+ - [BUGFIX] Fix `mongo` probe not instrumenting clients created before Skylight initialization
11
+
12
+ ## 5.3.2 (April 6, 2022)
13
+
14
+ - [BUGFIX] Fix case-sensitivity issue when computing relative paths
15
+
16
+ ## 5.3.1 (February 28, 2022)
17
+
18
+ - [BUGFIX] Fix Elasticsearch integration for gem versions >= 8.
19
+
20
+ ## 5.3.0 (February 9, 2022)
21
+
22
+ - [FEATURE] Support for Rails 7's `load_async`.
23
+ - [IMPROVEMENT] `skylight doctor` now checks glibc compatibility.
24
+ - [BUGFIX] Fix an issue where `skylight doctor` wouldn't correctly log installation errors.
25
+
26
+ ## 5.2.0 (February 3, 2022)
27
+
28
+ - [FEATURE] Experimental gRPC transport
29
+ - [IMPROVEMENT] Internal native client refactors
30
+ - [IMPROVEMENT] Add Rack::Builder probe to better instrument middlewares in Sinatra and other Builder-based apps
31
+ - [BUGFIX] Fix some internal errors related to Rails 7
32
+ - [BUGFIX] Fix an issue in which trace logging could output the incorrect request ID.
33
+ - [BUGFIX] Fix native extension configuration for arm64 hosts
34
+
35
+ ## 5.1.1 (May 27, 2021)
36
+
37
+ - [BUGFIX] Correct ruby version requirement in skylight.gemspec
38
+
39
+ ## 5.1.0 (May 24, 2021) [YANKED]
40
+
41
+ - [FEATURE] Add experimental tcp-based `skylightd` (may be enabled with `SKYLIGHT_ENABLE_TCP=true`)
42
+
43
+ - [IMPROVEMENT] Support aarch64-darwin targets (Apple M1)
44
+ - [IMPROVEMENT] Support aarch64-linux-gnu targets
45
+ - [IMPROVEMENT] Support aarch64-linux-musl targets
46
+ - [IMPROVEMENT] Prevent large traces from shutting down the instrumenter
47
+ - [IMPROVEMENT] Avoid 'invalid option' warnings when instrumenting certain Tilt templates in Sinatra
48
+ - [IMPROVEMENT] Decrease verbosity of source locations logs in the debug level.
49
+
50
+ - [BREAKING] Remove `SKYLIGHT_SSL_CERT_DIR` config
51
+ - [BREAKING] Drop support for Ruby 2.5
52
+
53
+ ## 5.0.1 (March 11, 2021)
54
+
55
+ - [IMPROVEMENT] Use argument-forwarding (...) where available in custom instrumentation
56
+
57
+ ## 5.0.0 (March 5, 2021)
58
+
59
+ - [FEATURE] Add normalizer for Shrine events (thanks @janko!)
60
+ - [FEATURE] Source Locations detection and reporting is now enabled by default (can be disabled with `SKYLIGHT_ENABLE_SOURCE_LOCATIONS=false`)
61
+ - [FEATURE] Configuration for the Source Locations caches via `SYLIGHT_SOURCE_LOCATION_CACHE_SIZE`
62
+
63
+ - [IMPROVEMENT] Improve keyword argument handling in Skylight::Helpers (thanks @lukebooth!)
64
+ - [IMPROVEMENT] Replace a Kernel.puts with Skylight.log (thanks @johnnyshields!)
65
+ - [IMPROVEMENT] Various updates to the SQL lexer
66
+ - [IMPROVEMENT] Reduce volume of log messages sent to the native logger in debug level
67
+ - [IMPROVEMENT] Optimizations for the Source Locations extension
68
+ - [IMPROVEMENT] Improved Delayed::Job probe
69
+ - [IMPROVEMENT] Maintain method visibility when instrumenting with `instrument_method`
70
+ - [IMPROVEMENT] Update probes to use `Module#prepend` where possible
71
+ - [IMPROVEMENT] New tokio-based skylightd
72
+ - [IMPROVEMENT] Support `render_layout` notifications in Rails 6.1
73
+ - [IMPROVEMENT] Support `ActionMailer::MailDeliveryJob` in Rails 6.1
74
+ - [IMPROVEMENT] Better logging config. `SKYLIGHT_NATIVE_LOG_LEVEL` now defaults to `warn`.
75
+
76
+ - [BREAKING] Rename `environment` keyword argument to `priority_key`. Note `env` has not changed.
77
+ - [BREAKING] Merge skylight-core into skylight. All classes previously namespaced under `Skylight::Core` have been moved to `Skylight`.
78
+ - [BREAKING] Remove `Skylight::Util::Inflector`
79
+ - [BREAKING] Drop support for Rails 4
80
+ - [BREAKING] Drop support for Ruby 2.3 and 2.4
81
+ - [BREAKING] Drop support for glibc < 2.23
82
+
83
+ - [BUGFIX] Fix issue with missing metadata in MongoDB probe
84
+ - [BUGFIX] Resolve an inability to parse certain SQL queries containing arrays
85
+ - [BUGFIX] Allow multiple probes to be registered under the same key
86
+ - [BUGFIX] Do not refer to Redis constant until the probe is installed
87
+ - [BUGFIX] Fix nested calls to `Normalizers::Faraday::Request.disable`
88
+
89
+ ## 4.3.2 (December 14, 2020)
90
+
91
+ - [BUGFIX] Backport an ActionView fix from Skylight 5 (makes Skylight 4 compatible with Rails 6.1)
92
+
93
+ ## 4.3.1 (June 24, 2020)
94
+
95
+ - [BUGFIX] Fix an issue in which `Mime::NullType` would result in an exception
96
+
97
+ ## 4.3.0 (March 18, 2020)
98
+
99
+ - [IMPROVEMENT] Fix Ruby 2.7 warnings
100
+ - [IMPROVEMENT] Update Grape normalizer for version 1.3.1
101
+ - [BUGFIX] Fix an issue where GraphQL normalizers could fail to load in non-Rails contexts
102
+
103
+ ## 4.2.2 (February 25, 2020)
104
+
105
+ - Support graphql-ruby version 1.10
106
+
107
+ ## 4.2.1 (January 14, 2020)
108
+
109
+ - [IMPROVEMENT] Enable instrumentation for ActionMailer::MailDeliveryJob
110
+ - [BUGFIX] Improved handling for non-SPEC compliant Rack middleware
111
+
112
+ ## 4.2.0 (October 30, 2019)
113
+
114
+ - [FEATURE] Add GraphQL probe
115
+ - [FEATURE] Optionally add Rack mount point to Sinatra endpoint names
116
+ - [FEATURE] Add `Skylight.mute` and `Skylight.unmute` blocks to selectively disable and re-enable
117
+ - [IMPROVEMENT] Shut down the native instrumenter when the remote daemon is unreachable
118
+ instrumentation
119
+ - [IMPROVEMENT] Revise agent authorization strategy (fixes some issues related to activation for background jobs)
120
+ - [IMPROVEMENT] Fix Rails 6 deprecation warnings
121
+ - [BUGFIX] Skip the Sidekiq probe if Sidekiq is not present
122
+
123
+ ## 4.1.2 (June 27, 2019)
124
+
125
+ - [BUGFIX] Correct an issue where the delayed_job probe may not be activated on startup
126
+
127
+ ## 4.1.1 (June 25, 2019)
128
+
129
+ - [BUGFIX] Fix Skylight installation when bundled with edge rails [Issue #132](https://github.com/skylightio/skylight-ruby/issues/132)
130
+ - [IMPROVEMENT] Improve socket retry handling in skylightd
131
+
132
+ ## 4.1.0 (June 3, 2019)
133
+
134
+ - [FEATURE] add normalizers for Graphiti >= 1.2
135
+ - [BUGFIX] re-enable aliases in skylight.yml
136
+
137
+ ## 4.0.2 (May 21, 2019)
138
+
139
+ - [BUGFIX] Fix an issue with Delayed::Job worker name formatting
140
+
141
+ ## 4.0.1 (May 9, 2019)
142
+
143
+ - [BUGFIX] Better detection of known web servers
144
+
145
+ ## 4.0.0 (May 6, 2019)
146
+
147
+ - [FEATURE] Skylight for Background Jobs
148
+ - [FEATURE] instrument ActiveStorage notifications
149
+ - [FEATURE] Probe for Delayed::Job (standalone)
150
+ - [FEATURE] Add Skylight#started? method
151
+ - [IMPROVEMENT] Support anonymous ActiveModelSerializer classes
152
+ - [IMPROVEMENT] Improve error handling in normalizers
153
+ - [IMPROVEMENT] Handle Rails 6's middleware instrumentation
154
+ - [IMPROVEMENT] Better rendered format detection in Rails controllers
155
+ - [IMPROVEMENT] Recognize the Passenger startup script as 'web'
156
+ - [IMPROVEMENT] ActionMailer::DeliveryJob are now reported using the mailer name and method
157
+ - [IMPROVEMENT] Better content type handling for ActionController normalizer
158
+ - [IMPROVEMENT] Better handle some things in Ruby 2.6
159
+ - [IMPROVEMENT] Better logging in a couple places
160
+ - [IMPROVEMENT] Fixed a couple Ruby warnings (thanks, @y-yagi!)
161
+ - [IMPROVEMENT] Handle 403 config validation response
162
+ - [IMPROVEMENT] Config for `prune_large_traces` is now true by default
163
+ - [BUGFIX] Require http formatters for Faraday (thanks, @serkin!)
164
+ - [BREAKING] Drop support for Ruby 2.2 since it is EOL
165
+ - [BREAKING] New method for assigning 'segment' to a trace endpoint name
166
+
167
+ ## 3.1.4 (January 24, 2019)
168
+
169
+ - [BUGFIX] ActiveJob#perform_now should not reassign the endpoint name
170
+
171
+ ## 3.1.3 (January 23, 2019)
172
+
173
+ - [BUGFIX] skylightd correctly closes cloned file descriptors on startup
174
+ - [BUGFIX] Convert numeric git shas to strings
7
175
 
8
176
  ## 3.1.2 (November 29, 2018)
9
- * [BUGFIX] Fix derived endpoint names under Grape 1.2
177
+
178
+ - [BUGFIX] Fix derived endpoint names under Grape 1.2
10
179
 
11
180
  ## 3.1.1 (October 25, 2018)
12
- * [IMPROVEMENT] Get AMS version from `Gem.loaded_specs` (thanks @mattias-lundell!)
181
+
182
+ - [IMPROVEMENT] Get AMS version from `Gem.loaded_specs` (thanks @mattias-lundell!)
13
183
 
14
184
  ## 3.1.0 (October 22, 2018)
15
185
 
16
- * [IMPROVEMENT] Trace Mongo aggregate queries
17
- * [BUGFIX] Correct configuration keys in skylight.yml
18
- * [BUGFIX] SQL queries with schema-qualified table names are parsed correctly
19
- * [BUGFIX] `SELECT ... FOR UPDATE` queries are parsed correctly
20
- * [BUGFIX] Revision to SQL string escaping rules
21
- * [BUGFIX] Fix issue where Rails routing errors could result in a broken trace.
186
+ - [IMPROVEMENT] Trace Mongo aggregate queries
187
+ - [BUGFIX] Correct configuration keys in skylight.yml
188
+ - [BUGFIX] SQL queries with schema-qualified table names are parsed correctly
189
+ - [BUGFIX] `SELECT ... FOR UPDATE` queries are parsed correctly
190
+ - [BUGFIX] Revision to SQL string escaping rules
191
+ - [BUGFIX] Fix issue where Rails routing errors could result in a broken trace.
22
192
 
23
193
  ## 3.0.0 (September 5, 2018)
24
194
 
25
- * [FEATURE] First class support for [multiple application environments](https://www.skylight.io/support/environments)
26
- * [IMPROVEMENT] Better instrumentation of ActiveJob enqueues
27
- * [BREAKING] The ActiveJob enqueue_at normalizer is now a probe that is enabled by default. The normalizer no longer needs to be required.
28
- * [BREAKING] Remove SKYLIGHT_USE_OLD_SQL_LEXER config option
195
+ - [FEATURE] First class support for [multiple application environments](https://www.skylight.io/support/environments)
196
+ - [IMPROVEMENT] Better instrumentation of ActiveJob enqueues
197
+ - [BREAKING] The ActiveJob enqueue_at normalizer is now a probe that is enabled by default. The normalizer no longer needs to be required.
198
+ - [BREAKING] Remove SKYLIGHT_USE_OLD_SQL_LEXER config option
29
199
 
30
200
  ## 2.0.2 (June 4, 2018)
31
201
 
32
- * [IMPROVEMENT] Improve handling of broken middleware traces
33
- * [IMPROVEMENT] Don't rely on ActiveSupport's String#first (Thanks @foxtacles!)
34
- * [BUGFIX] Susbcribe to AS::Notifications events individually
35
- * [IMPROVEMENT] add normalizer for 'format_response.grape' notifications
36
- * [BUGFIX] Correctly deprecate the Grape probe
202
+ - [IMPROVEMENT] Improve handling of broken middleware traces
203
+ - [IMPROVEMENT] Don't rely on ActiveSupport's String#first (Thanks @foxtacles!)
204
+ - [BUGFIX] Susbcribe to AS::Notifications events individually
205
+ - [IMPROVEMENT] add normalizer for 'format_response.grape' notifications
206
+ - [BUGFIX] Correctly deprecate the Grape probe
37
207
 
38
208
  ## 2.0.1 (May 1, 2018)
39
209
 
40
- * [BUGFIX] Correctly deprecate the now unncessary Grape probe.
210
+ - [BUGFIX] Correctly deprecate the now unncessary Grape probe.
41
211
 
42
212
  ## 2.0.0 (April 25, 2018)
43
213
 
44
- * [FEATURE] New SQL lexer to support a wider variety of SQL queries.
45
- * [BREAKING] Drop support for Ruby versions prior to 2.2
46
- * [BREAKING] Drop support for Rails versions prior to 4.2
47
- * [BREAKING] Drop support for Tilt versions prior to 1.4.1
48
- * [BREAKING] Drop support for Sinatra versions prior to 1.4
49
- * [BREAKING] Drop support for Grape versions prior to 0.13.0
50
- * [BREAKING] Drop support for Linux with glibc versions prior to 2.15
51
- * [BREAKING] Remove couch_potato normalizer as it doesn't appear to have ever worked
52
- * [BREAKING] `log_sql_parse_errors` config option is now on by default.
53
- * [IMPROVEMENT] Auto-disable Middleware probe if it appears to be causing issues
54
- * [IMPROVEMENT] More detailed logging and improved error handling
55
- * [IMPROVEMENT] Fix Ruby Warnings (Thanks @amatsuda!)
56
- * [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
57
- * [IMRPOVEMENT] Add logging to Instrumentable for easier access
58
- * [IMPROVEMENT] Improved logging during startup
214
+ - [FEATURE] New SQL lexer to support a wider variety of SQL queries.
215
+ - [BREAKING] Drop support for Ruby versions prior to 2.2
216
+ - [BREAKING] Drop support for Rails versions prior to 4.2
217
+ - [BREAKING] Drop support for Tilt versions prior to 1.4.1
218
+ - [BREAKING] Drop support for Sinatra versions prior to 1.4
219
+ - [BREAKING] Drop support for Grape versions prior to 0.13.0
220
+ - [BREAKING] Drop support for Linux with glibc versions prior to 2.15
221
+ - [BREAKING] Remove couch_potato normalizer as it doesn't appear to have ever worked
222
+ - [BREAKING] `log_sql_parse_errors` config option is now on by default.
223
+ - [IMPROVEMENT] Auto-disable Middleware probe if it appears to be causing issues
224
+ - [IMPROVEMENT] More detailed logging and improved error handling
225
+ - [IMPROVEMENT] Fix Ruby Warnings (Thanks @amatsuda!)
226
+ - [IMPROVEMENT] Improved handling of errors generated in the Rust agent.
227
+ - [IMRPOVEMENT] Add logging to Instrumentable for easier access
228
+ - [IMPROVEMENT] Improved logging during startup
59
229
 
60
230
  ## 1.7.0 (April 24, 2018)
61
231
 
62
- * [FEATURE] New API for loading Probes. Example: `Skylight.probe(:excon')`
63
- * [FEATURE] New API for enabling non-default Normalizers. Example: `Skylight.enable_normalizer('active_job')`
64
- * [DEPRECATION] Support for Rails versions prior to 4.2
65
- * [DEPRECATION] Support for Tilt versions prior to 1.4.1
66
- * [DEPRECATION] Support for Sinatra versions prior to 1.4
67
- * [DEPRECATION] Support for Grape versions prior to 0.13.0
232
+ - [FEATURE] New API for loading Probes. Example: `Skylight.probe(:excon')`
233
+ - [FEATURE] New API for enabling non-default Normalizers. Example: `Skylight.enable_normalizer('active_job')`
234
+ - [DEPRECATION] Support for Rails versions prior to 4.2
235
+ - [DEPRECATION] Support for Tilt versions prior to 1.4.1
236
+ - [DEPRECATION] Support for Sinatra versions prior to 1.4
237
+ - [DEPRECATION] Support for Grape versions prior to 0.13.0
68
238
 
69
239
  ## 1.6.1 (April 12, 2018)
70
240
 
71
- * [IMPROVEMENT] Include endpoint name in error logging
72
- * [BUGFIX] Make sure to correctly release broken traces
73
- * [BUGFIX] Keep the `require` method private when overwriting
241
+ - [IMPROVEMENT] Include endpoint name in error logging
242
+ - [BUGFIX] Make sure to correctly release broken traces
243
+ - [BUGFIX] Keep the `require` method private when overwriting
74
244
 
75
245
  ## 1.6.0 (March 21, 2018)
76
246
 
77
- * [FEATURE] Time spent the Rails router is now identified separately in the trace
78
- * [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
79
- * [IMPROVEMENT] Improved logging for a number of error cases
80
- * [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
81
- * [IMPROVEMENT] We were using arity checks to determine Rails version but due to other libraries' monkey patches this could sometimes fail. We just check version numbers now.
82
- * [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
247
+ - [FEATURE] Time spent the Rails router is now identified separately in the trace
248
+ - [IMPROVEMENT] Switch logger to debug mode if tracing is enabled
249
+ - [IMPROVEMENT] Improved logging for a number of error cases
250
+ - [IMPROVEMENT] Middleware probe should now accept anything allowed by Rack::Lint
251
+ - [IMPROVEMENT] We were using arity checks to determine Rails version but due to other libraries' monkey patches this could sometimes fail. We just check version numbers now.
252
+ - [BUGFIX] Middleware probe no longer errors when Middleware returns a frozen array
83
253
 
84
254
  ## 1.5.1 (February 7, 2018)
85
255
 
86
- * [BUGFIX] `skylight doctor` no longer erroneously reports inability to reach Skylight servers.
256
+ - [BUGFIX] `skylight doctor` no longer erroneously reports inability to reach Skylight servers.
87
257
 
88
258
  ## 1.5.0 (December 6, 2017)
89
259
 
90
- * [FEATURE] [Coach](https://github.com/gocardless/coach) instrumentation. Enabled automatically via ActiveSupport::Notifications.
91
- * [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
92
- * [IMPROVEMENT] Better logging for certain error cases.
93
- * [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
94
- * [BUGFIX] Fix a case where using the non-block form of `Skylight.instrument` with `Skylight.done` could cause lost trace data.
260
+ - [FEATURE] [Coach](https://github.com/gocardless/coach) instrumentation. Enabled automatically via ActiveSupport::Notifications.
261
+ - [FEATURE] Option to enable or disable agent by setting SKYLIGHT_ENABLED via ENV.
262
+ - [IMPROVEMENT] Better logging for certain error cases.
263
+ - [BUGFIX] Backport a SPEC compliance fix for older Rack::ETag to resolve case where the Middleware probe could cause empty traces.
264
+ - [BUGFIX] Fix a case where using the non-block form of `Skylight.instrument` with `Skylight.done` could cause lost trace data.
95
265
 
96
266
  ## 1.4.4 (November 7, 2017)
97
267
 
98
- * [BUGFIX] The minimum glibc requirement was errorneously bumped to 2.15. We have returned it to 2.5.
268
+ - [BUGFIX] The minimum glibc requirement was errorneously bumped to 2.15. We have returned it to 2.5.
99
269
 
100
270
  ## 1.4.3 (October 18, 2017)
101
271
 
102
- * [BUGFIX] In rare cases, Rails Middleware can be anonymous classes. We now handle those without raising an exception.
272
+ - [BUGFIX] In rare cases, Rails Middleware can be anonymous classes. We now handle those without raising an exception.
103
273
 
104
274
  ## 1.4.2 (October 11, 2017)
105
275
 
106
- * [BUGFIX] For experimental deploy tracking support, resolve an error that occurred if the Git SHA and description were not set.
276
+ - [BUGFIX] For experimental deploy tracking support, resolve an error that occurred if the Git SHA and description were not set.
107
277
 
108
278
  ## 1.4.1 (October 10, 2017)
109
279
 
110
- * [BUGFIX] Fix an issue that would prevent the daemon from starting up on FreeBSD.
280
+ - [BUGFIX] Fix an issue that would prevent the daemon from starting up on FreeBSD.
111
281
 
112
282
  ## 1.4.0 (October 4, 2017)
113
283
 
114
- * [FEATURE] Add probe for Rack Middlewares
115
- * [FEATURE] ActiveRecord Instantiation instrumentation
116
- * [FEATURE] Faraday instrumentation. Add 'faraday' to your probes list.
117
- * [IMPROVEMENT] Increase limit for items tracked in a requests
118
- * [IMPROVEMENT] Allow for more fine-grained control over position of Skylight::Middleware
119
- * [IMPROVEMENT] Improved handling of the user-level configuration options
120
- * [IMPROVEMENT] Avoid processing Skylight::Middleware unnecessarily
121
- * [EXPERIMENTAL] FreeBSD support. (This should work automatically on FreeBSD systems, but real-world testing has been minimal.)
122
- * [EXPERIMENTAL] ActionJob Enqueue instrumentation. (Only tracks the enqueuing of new jobs. Does not instrument jobs themselves. Off by default since it's not clear how useful it is. To enable: `require 'skylight/normalizers/active_job/enqueue_at'`.)
284
+ - [FEATURE] Add probe for Rack Middlewares
285
+ - [FEATURE] ActiveRecord Instantiation instrumentation
286
+ - [FEATURE] Faraday instrumentation. Add 'faraday' to your probes list.
287
+ - [IMPROVEMENT] Increase limit for items tracked in a requests
288
+ - [IMPROVEMENT] Allow for more fine-grained control over position of Skylight::Middleware
289
+ - [IMPROVEMENT] Improved handling of the user-level configuration options
290
+ - [IMPROVEMENT] Avoid processing Skylight::Middleware unnecessarily
291
+ - [EXPERIMENTAL] FreeBSD support. (This should work automatically on FreeBSD systems, but real-world testing has been minimal.)
292
+ - [EXPERIMENTAL] ActionJob Enqueue instrumentation. (Only tracks the enqueuing of new jobs. Does not instrument jobs themselves. Off by default since it's not clear how useful it is. To enable: `require 'skylight/normalizers/active_job/enqueue_at'`.)
123
293
 
124
294
  ## 1.3.1 (May 17, 2017)
125
295
 
126
- * [IMPROVEMENT] Better suggestions in `skylight doctor`.
296
+ - [IMPROVEMENT] Better suggestions in `skylight doctor`.
127
297
 
128
298
  ## 1.3.0 (May 17, 2017)
129
299
 
130
- * [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
131
- * [IMPROVEMENT] `skylight doctor` now validates SSL configuration
132
- * [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
300
+ - [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
301
+ - [IMPROVEMENT] `skylight doctor` now validates SSL configuration
302
+ - [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
133
303
 
134
304
  ## 1.2.2 (April 28, 2017)
135
305
 
136
- * [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
306
+ - [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
137
307
 
138
308
  ## 1.2.1 (April 20, 2017)
139
309
 
140
- * [BUGFIX] Ignored heartbeat endpoints with response types weren't actually ignored. They now will be!
310
+ - [BUGFIX] Ignored heartbeat endpoints with response types weren't actually ignored. They now will be!
141
311
 
142
312
  ## 1.2.0 (April 10, 2017)
143
313
 
144
- * [FEATURE] Response Type tracking for all applications. (Previously known as Segments.)
314
+ - [FEATURE] Response Type tracking for all applications. (Previously known as Segments.)
145
315
 
146
316
  ## 1.1.0 (March 9, 2017)
147
317
 
148
- * [FEATURE] Support musl-based OSes (including Alpine Linux)
149
- * [FEATURE] Add Elasticsearch Probe
150
- * [FEATURE] Add HTTPClient probe (#76)j
151
- * [IMPROVEMENT] Update tested Ruby versions, drop 1.9.2
152
- * [BUGFIX] Fix HTTP_PROXY handling of empty strings (#90)
153
- * [BUGFIX] Don't crash on empty content_type strings
154
- * [BUGFIX] Use more robust method to detect home dir (#75)
155
- * [BUGFIX] Add option to suppress environment warning (#62)
318
+ - [FEATURE] Support musl-based OSes (including Alpine Linux)
319
+ - [FEATURE] Add Elasticsearch Probe
320
+ - [FEATURE] Add HTTPClient probe (#76)j
321
+ - [IMPROVEMENT] Update tested Ruby versions, drop 1.9.2
322
+ - [BUGFIX] Fix HTTP_PROXY handling of empty strings (#90)
323
+ - [BUGFIX] Don't crash on empty content_type strings
324
+ - [BUGFIX] Use more robust method to detect home dir (#75)
325
+ - [BUGFIX] Add option to suppress environment warning (#62)
156
326
 
157
327
  ## 1.0.1 (November 15, 2016)
158
328
 
159
- * [BUGFIX] Gracefully handle non-writable log files
160
- * [BUGFIX] Fix skylight doctor's handling of config files
161
- * [BUGFIX] Support MetalControllers that don't use ActionController::Rendering
329
+ - [BUGFIX] Gracefully handle non-writable log files
330
+ - [BUGFIX] Fix skylight doctor's handling of config files
331
+ - [BUGFIX] Support MetalControllers that don't use ActionController::Rendering
162
332
 
163
333
  ## 1.0.0 (October 19, 2016)
164
334
 
165
- * [BETA FEATURE] Track separate segments for endpoints. Contact support@skylight.io to have this feature enabled for your account.
166
- * [FEATURE] Initial 'skylight doctor' command
167
- * [BREAKING] Removed old `skylight setup` without creation token
168
- * [BREAKING] Remove Ruby based SQL lexer
169
- * [IMPROVEMENT] Internal refactors
170
- * [BUGFIX] Correctly pass 'false' config values to Rust agent
335
+ - [BETA FEATURE] Track separate segments for endpoints. Contact support@skylight.io to have this feature enabled for your account.
336
+ - [FEATURE] Initial 'skylight doctor' command
337
+ - [BREAKING] Removed old `skylight setup` without creation token
338
+ - [BREAKING] Remove Ruby based SQL lexer
339
+ - [IMPROVEMENT] Internal refactors
340
+ - [BUGFIX] Correctly pass 'false' config values to Rust agent
171
341
 
172
342
  ## 0.10.6 (August 10, 2016)
173
343
 
174
- * [BUGFIX] Turn off -Werror and -pedantic for builds. [Issue #64](https://github.com/skylightio/skylight-ruby/issues/64)
344
+ - [BUGFIX] Turn off -Werror and -pedantic for builds. [Issue #64](https://github.com/skylightio/skylight-ruby/issues/64)
175
345
 
176
346
  ## 0.10.5 (June 22, 2016)
177
347
 
178
- * [BUGFIX] Fix issue with Grape multi-method naming
179
- * [BUGFIX] Add http to proxy_url for native fetching
180
- * [BUGFIX] Fix setting `proxy_url` in config YML
181
- * [IMPROVEMENT] Log errors during authentication validation
348
+ - [BUGFIX] Fix issue with Grape multi-method naming
349
+ - [BUGFIX] Add http to proxy_url for native fetching
350
+ - [BUGFIX] Fix setting `proxy_url` in config YML
351
+ - [IMPROVEMENT] Log errors during authentication validation
182
352
 
183
353
  ## 0.10.4 (June 3, 2016)
184
354
 
185
- * [BUGFIX] Sinatra instrumenation now works for latest master
186
- * [BUGFIX] Sequel support for 4.35.0
187
- * [BUGFIX] Handle latest ActiveModel::Serializers version
188
- * [BUGFIX] More precise check for existence of Rails
189
- * [BREAKING] Drop official support for Sinatra 1.2 (it likely never worked correctly)
190
- * [IMPROVEMENT] On Heroku, logs are now written to STDOUT
191
- * [IMPROVEMENT] Allow Skylight to raise on logged errors, useful for testing and debugging
192
- * [IMPROVEMENT] Finish Rack::Responses in Middleware
193
- * [IMRPOVEMENT] Better message when config/skylight.yml already exists
194
- * [IMPROVEMENT] Update Rust Agent with SQL improvements, including handling for arrays and WITH
355
+ - [BUGFIX] Sinatra instrumenation now works for latest master
356
+ - [BUGFIX] Sequel support for 4.35.0
357
+ - [BUGFIX] Handle latest ActiveModel::Serializers version
358
+ - [BUGFIX] More precise check for existence of Rails
359
+ - [BREAKING] Drop official support for Sinatra 1.2 (it likely never worked correctly)
360
+ - [IMPROVEMENT] On Heroku, logs are now written to STDOUT
361
+ - [IMPROVEMENT] Allow Skylight to raise on logged errors, useful for testing and debugging
362
+ - [IMPROVEMENT] Finish Rack::Responses in Middleware
363
+ - [IMRPOVEMENT] Better message when config/skylight.yml already exists
364
+ - [IMPROVEMENT] Update Rust Agent with SQL improvements, including handling for arrays and WITH
195
365
 
196
366
  ## 0.10.3 (February 2, 2016)
197
367
 
198
- * [BUGFIX] Don't validate configuration on disabled environments.
368
+ - [BUGFIX] Don't validate configuration on disabled environments.
199
369
 
200
370
  ## 0.10.2 (January 19, 2016)
201
371
 
202
- * [BUGFIX] Fix git repository warning on startup. [Issue #58](https://github.com/skylightio/skylight-ruby/issues/58)
372
+ - [BUGFIX] Fix git repository warning on startup. [Issue #58](https://github.com/skylightio/skylight-ruby/issues/58)
203
373
 
204
374
  ## 0.10.1 (January 4, 2016) [YANKED]
205
375
 
206
- * [FEATURE] Preliminary work for deploy tracking (not yet functional)
207
- * [BUGFIX] Don't crash if user config (~/.skylight) is empty
208
- * [BUGFIX] Better handling of unsupported moped versions
209
- * [IMPROVEMENT] Internal refactor of configuration handling
210
- * [IMPROVEMENT] Improve automated tests
211
- * [IMPROVEMENT] Fix tests in Rails 5 (No actual code changes required!)
376
+ - [FEATURE] Preliminary work for deploy tracking (not yet functional)
377
+ - [BUGFIX] Don't crash if user config (~/.skylight) is empty
378
+ - [BUGFIX] Better handling of unsupported moped versions
379
+ - [IMPROVEMENT] Internal refactor of configuration handling
380
+ - [IMPROVEMENT] Improve automated tests
381
+ - [IMPROVEMENT] Fix tests in Rails 5 (No actual code changes required!)
212
382
 
213
383
  ## 0.10.0 (December 3, 2015)
214
384
 
215
- * [FEATURE] ActiveModel::Serializers Instrumentation. Always on in latest HEAD, for previous version add 'active_model_serializers' to probes list.
216
- * [BUGFIX] Handle multi-byte characters in SQL lexer
385
+ - [FEATURE] ActiveModel::Serializers Instrumentation. Always on in latest HEAD, for previous version add 'active_model_serializers' to probes list.
386
+ - [BUGFIX] Handle multi-byte characters in SQL lexer
217
387
 
218
388
  ## 0.9.4 (November 23, 2015)
219
389
 
220
- * [FEATURE] Added instrumentation for official Mongo Ruby Driver (utilized by Mongoid 5+). Add 'mongo' to probes list to enable.
221
- * [BUGFIX] SQL lexer now handles indentifiers beginning with underscores.
222
- * [BUGFIX] Excon instrumentation now works correctly.
223
- * [BUGFIX] Graceful handling of native agent failures on old OS X versions.
224
- * [IMPROVEMENT] Freeze some more strings for (likely very minor) performance improvements.
225
- * [IMPROVEMENT] Better error messages when sockdir is an NFS mount.
226
- * [IMPROVEMENT] On OS X, ensure that Xcode license has been approved before trying to build native agent.
390
+ - [FEATURE] Added instrumentation for official Mongo Ruby Driver (utilized by Mongoid 5+). Add 'mongo' to probes list to enable.
391
+ - [BUGFIX] SQL lexer now handles indentifiers beginning with underscores.
392
+ - [BUGFIX] Excon instrumentation now works correctly.
393
+ - [BUGFIX] Graceful handling of native agent failures on old OS X versions.
394
+ - [IMPROVEMENT] Freeze some more strings for (likely very minor) performance improvements.
395
+ - [IMPROVEMENT] Better error messages when sockdir is an NFS mount.
396
+ - [IMPROVEMENT] On OS X, ensure that Xcode license has been approved before trying to build native agent.
227
397
 
228
398
  ## 0.9.3 (November 17, 2015)
229
399
 
230
- * [BUGFIX] Update SQL lexer to handle more common queries
231
- * [BUGFIX] Correctly report native gem installation failures
400
+ - [BUGFIX] Update SQL lexer to handle more common queries
401
+ - [BUGFIX] Correctly report native gem installation failures
232
402
 
233
403
  ## 0.9.2 (November 13, 2015)
234
404
 
235
- * [BUGFIX] Correctly update Rust agent to include SQL fixes that were supposed to land in 0.9.1.
405
+ - [BUGFIX] Correctly update Rust agent to include SQL fixes that were supposed to land in 0.9.1.
236
406
 
237
407
  ## 0.9.1 (November 10, 2015)
238
408
 
239
- * [BUGFIX] Update Rust SQL lexer to handle `NOT` and `::` typecasting.
409
+ - [BUGFIX] Update Rust SQL lexer to handle `NOT` and `::` typecasting.
240
410
 
241
411
  ## 0.9.0 (November 6, 2015)
242
412
 
243
- * [FEATURE] Expose Skylight::Helpers.instrument_class_method
244
- * [BUGFIX] Allow for instrumentation of setters
245
- * [BUGFIX] Fix an issue where loading some items in the Grape namespace without loading the whole library would cause an exception.
246
- * [IMPROVEMENT] Switch to Rust SQL lexer by default
247
- * [IMPROVEMENT] Add support for Redis pipelined and multi
248
- * [IMPROVEMENT] Updated Rust internals
249
- * [IMPROVEMENT] Agent should now work on current Rails master
250
- * [IMPROVEMENT] Better disabling of development mode warning
413
+ - [FEATURE] Expose Skylight::Helpers.instrument_class_method
414
+ - [BUGFIX] Allow for instrumentation of setters
415
+ - [BUGFIX] Fix an issue where loading some items in the Grape namespace without loading the whole library would cause an exception.
416
+ - [IMPROVEMENT] Switch to Rust SQL lexer by default
417
+ - [IMPROVEMENT] Add support for Redis pipelined and multi
418
+ - [IMPROVEMENT] Updated Rust internals
419
+ - [IMPROVEMENT] Agent should now work on current Rails master
420
+ - [IMPROVEMENT] Better disabling of development mode warning
251
421
 
252
422
  ## 0.8.1 (October 1, 2015)
253
423
 
254
- * [BUGFIX] Fix agent on OS X El Capitan.
255
- * [PERFORMANCE] Explicitly subscribe to normalized events
256
- * [IMPROVEMENT] Use native unique description tracking
257
- * [IMPROVEMENT] Native SQL: Support multistatement queries
424
+ - [BUGFIX] Fix agent on OS X El Capitan.
425
+ - [PERFORMANCE] Explicitly subscribe to normalized events
426
+ - [IMPROVEMENT] Use native unique description tracking
427
+ - [IMPROVEMENT] Native SQL: Support multistatement queries
258
428
 
259
429
  ## 0.8.0 (August 13, 2015)
260
430
 
261
- * [FEATURE] Add Grape instumentation. See https://docs.skylight.io/grape
262
- * [FEATURE] Process ERB in config/skylight.yml
263
- * [FEATURE] Add Rust based SQL lexing. Currently beta. Enable with `config.sql_mode = 'rust'`.
264
- * [BUGFIX] Fixed a case where, With some logger configurations, duplicate messages could be written to STDOUT.
431
+ - [FEATURE] Add Grape instumentation. See https://docs.skylight.io/grape
432
+ - [FEATURE] Process ERB in config/skylight.yml
433
+ - [FEATURE] Add Rust based SQL lexing. Currently beta. Enable with `config.sql_mode = 'rust'`.
434
+ - [BUGFIX] Fixed a case where, With some logger configurations, duplicate messages could be written to STDOUT.
265
435
 
266
436
  ## 0.7.1 (August 4, 2015)
267
437
 
268
- * [BUGFIX] Fix bug in FFI error handling
438
+ - [BUGFIX] Fix bug in FFI error handling
269
439
 
270
440
  ## 0.7.0 (August 3, 2015)
271
441
 
272
- * [BUFIX] Condvar bug in Rust. Updated to latest nightly.
273
- * [BUGFIX] Don't crash on ruby stack overflow
274
- * [IMPROVEMENT] Silence a noisy log message
275
- * [IMPROVEMENT] Update to latest openssl & curl
276
- * [FEATURE] Add probe on ActionView for layout renders
442
+ - [BUFIX] Condvar bug in Rust. Updated to latest nightly.
443
+ - [BUGFIX] Don't crash on ruby stack overflow
444
+ - [IMPROVEMENT] Silence a noisy log message
445
+ - [IMPROVEMENT] Update to latest openssl & curl
446
+ - [FEATURE] Add probe on ActionView for layout renders
277
447
 
278
448
  ## 0.6.1 (June 30, 2015)
279
449
 
280
- * [BUGFIX] Don't use $DEBUG to enable verbose internal logging
450
+ - [BUGFIX] Don't use $DEBUG to enable verbose internal logging
281
451
 
282
452
  ## 0.6.0 (January 27, 2015)
283
453
 
284
- * [IMPROVEMENT] Eliminates runtime dependency on the Rails
454
+ - [IMPROVEMENT] Eliminates runtime dependency on the Rails
285
455
  constant across the entire codebase
286
- * [FEATURE] Support for Sinatra applications. See https://docs.skylight.io/sinatra/
287
- * [FEATURE] Support for the Sequel ORM (off by default for Rails apps)
288
- * [FEATURE] Support for Tilt templates (off by default for Rails apps)
456
+ - [FEATURE] Support for Sinatra applications. See https://docs.skylight.io/sinatra/
457
+ - [FEATURE] Support for the Sequel ORM (off by default for Rails apps)
458
+ - [FEATURE] Support for Tilt templates (off by default for Rails apps)
289
459
 
290
460
  ## 0.5.2 (December 15, 2014)
291
461
 
292
- * [IMPROVEMENT] Support ignoring multiple heartbeat endpoints
293
- * [BUGFIX] Fix compilation errors on old GCC
462
+ - [IMPROVEMENT] Support ignoring multiple heartbeat endpoints
463
+ - [BUGFIX] Fix compilation errors on old GCC
294
464
 
295
465
  ## 0.5.1 (December 5, 2014)
296
466
 
297
- * [BUGFIX] Fix issues with working directory dissappearing
467
+ - [BUGFIX] Fix issues with working directory dissappearing
298
468
 
299
469
  ## 0.5.0 (December 4, 2014)
300
- * [IMPROVEMENT] Automatically load configuration from ENV
301
- * [FEATURE] Track object allocations per span
302
- * [IMPROVEMENT] Fix C warnings
470
+
471
+ - [IMPROVEMENT] Automatically load configuration from ENV
472
+ - [FEATURE] Track object allocations per span
473
+ - [IMPROVEMENT] Fix C warnings
303
474
 
304
475
  ## 0.4.3 (November 17, 2014)
305
476
 
306
- * [BUGFIX] Fix Moped integration when queries include times
477
+ - [BUGFIX] Fix Moped integration when queries include times
307
478
 
308
479
  ## 0.4.2 (November 12, 2014)
309
480
 
310
- * [BUGFIX] Fix exit status on MRI 1.9.2
311
- * [BUGFIX] Strip SQL comments for better aggregation
481
+ - [BUGFIX] Fix exit status on MRI 1.9.2
482
+ - [BUGFIX] Strip SQL comments for better aggregation
312
483
 
313
484
  ## 0.4.1 (November 7, 2014)
314
485
 
315
- * [BUGFIX] Fix downloading native agent on 32bit systems
316
- * [BUGFIX] Support legacy config settings
317
- * [FEATURE] Check FS permissions on instrumenter start
486
+ - [BUGFIX] Fix downloading native agent on 32bit systems
487
+ - [BUGFIX] Support legacy config settings
488
+ - [FEATURE] Check FS permissions on instrumenter start
318
489
 
319
490
  ## 0.4.0 (November 3, 2014)
320
491
 
321
- * Featherweight Agent: lowered CPU and memory overhead
322
- * [IMPROVEMENT] Add support for ignoring an endpoint by name
492
+ - Featherweight Agent: lowered CPU and memory overhead
493
+ - [IMPROVEMENT] Add support for ignoring an endpoint by name
323
494
 
324
495
  ## 0.3.21 (October 8, 2014)
325
496
 
326
- * [BUGFIX] Skylight crashing on start won't crash entire app
497
+ - [BUGFIX] Skylight crashing on start won't crash entire app
327
498
 
328
499
  ## 0.3.20 (September 3, 2014)
329
500
 
330
- * [BUGFIX] Fix app name fetching on Windows for `skylight setup`
501
+ - [BUGFIX] Fix app name fetching on Windows for `skylight setup`
331
502
 
332
503
  ## 0.3.19 (July 30, 2014)
333
504
 
334
- * [IMPROVEMENT] HEAD requests are no longer instrumented and will not count towards usage totals.
335
- * [IMPROVEMENT] Added LICENSE and CLA
336
- * [IMPROVEMENT] Improve how warnings are logged to reduce overall noise and interfere less with cron jobs
337
- * [BUGFIX] Fixed a case where failed app creation raised an exception instead of printing error messages
505
+ - [IMPROVEMENT] HEAD requests are no longer instrumented and will not count towards usage totals.
506
+ - [IMPROVEMENT] Added LICENSE and CLA
507
+ - [IMPROVEMENT] Improve how warnings are logged to reduce overall noise and interfere less with cron jobs
508
+ - [BUGFIX] Fixed a case where failed app creation raised an exception instead of printing error messages
338
509
 
339
510
  ## 0.3.18 (July 17, 2014)
340
511
 
341
- * [FEATURE] Redis probe (Not enabled by default. See https://docs.skylight.io/agent/#railtie)
342
- * [FEATURE] Support app creation with token instead of email/password
343
- * [BUGFIX] App creation now works even when Webmock is enabled
344
- * [BUGFIX] Fix instrumentation for methods ending in special chars
345
- * [BUGFIX] Improved SQL parsing
346
- * [IMPROVEMENT] Respect collector token expiration to reduce token requests
512
+ - [FEATURE] Redis probe (Not enabled by default. See https://docs.skylight.io/agent/#railtie)
513
+ - [FEATURE] Support app creation with token instead of email/password
514
+ - [BUGFIX] App creation now works even when Webmock is enabled
515
+ - [BUGFIX] Fix instrumentation for methods ending in special chars
516
+ - [BUGFIX] Improved SQL parsing
517
+ - [IMPROVEMENT] Respect collector token expiration to reduce token requests
347
518
 
348
519
  ## 0.3.17 (July 1, 2014)
349
520
 
350
- * Fix warning for Cache.instrument overwrite
521
+ - Fix warning for Cache.instrument overwrite
351
522
 
352
523
  ## 0.3.16 (July 1, 2014) [YANKED]
353
524
 
354
- * Fixed ActiveSupport::Cache monkeypatch
525
+ - Fixed ActiveSupport::Cache monkeypatch
355
526
 
356
527
  ## 0.3.15 (June 30, 2014) [YANKED]
357
528
 
358
- * Basic instrumentation for ActiveSupport::Cache
359
- * Fix incompatibility with old version of rack-mini-profiler
360
- * Better error messages when config/skylight.yml is invalid
361
- * Better error messages for non-writeable lock/sockfile path
529
+ - Basic instrumentation for ActiveSupport::Cache
530
+ - Fix incompatibility with old version of rack-mini-profiler
531
+ - Better error messages when config/skylight.yml is invalid
532
+ - Better error messages for non-writeable lock/sockfile path
362
533
 
363
534
  ## 0.3.14 (June 3, 2014)
364
535
 
365
- * Do not build C extension if dependencies (libraries/headers) are
536
+ - Do not build C extension if dependencies (libraries/headers) are
366
537
  missing
367
- * [RUST] Improve performance by not double copying memory when serializing
368
- * Enable the Net::HTTP probe by default
538
+ - [RUST] Improve performance by not double copying memory when serializing
539
+ - Enable the Net::HTTP probe by default
369
540
 
370
541
  ## 0.3.13 (May 12, 2014)
371
542
 
372
- * Load probes even when agent is disabled
373
- * Check for Excon::Middlewares before installing the probe
374
- * SQL error encoder should not operate in-place
375
- * Fix Middleware
376
- * More debug logging
377
- * Log Rails version in MetricsReporter
378
- * Handle missing Net::ReadTimeout in 1.9.3
379
- * Include original exception information in sql_parse errors
380
- * Debugging for failed application creation
381
- * Make double sure that Trace started_at is an Integer
543
+ - Load probes even when agent is disabled
544
+ - Check for Excon::Middlewares before installing the probe
545
+ - SQL error encoder should not operate in-place
546
+ - Fix Middleware
547
+ - More debug logging
548
+ - Log Rails version in MetricsReporter
549
+ - Handle missing Net::ReadTimeout in 1.9.3
550
+ - Include original exception information in sql_parse errors
551
+ - Debugging for failed application creation
552
+ - Make double sure that Trace started_at is an Integer
382
553
 
383
554
  ## 0.3.12 (April 17, 2014)
384
555
 
385
- * Include more information in type check errors
386
- * Use stdlib SecureRandom instead of ActiveSupport::SecureRandom - Fixes Rails 3.1
387
- * Instrumenter#start! should fail if worker not spawned
388
- * Configurable timeouts for Util::HTTP
389
- * Improve proxy handling for Util::HTTP
390
- * Improve HTTP error handling
391
- * Refactor sql_parse errors
556
+ - Include more information in type check errors
557
+ - Use stdlib SecureRandom instead of ActiveSupport::SecureRandom - Fixes Rails 3.1
558
+ - Instrumenter#start! should fail if worker not spawned
559
+ - Configurable timeouts for Util::HTTP
560
+ - Improve proxy handling for Util::HTTP
561
+ - Improve HTTP error handling
562
+ - Refactor sql_parse errors
392
563
 
393
564
  ## 0.3.11 (April 11, 2014)
394
565
 
395
- * Improved error handling and internal metrics
396
- * Improved missing native agent message
397
- * Improved install logging
398
- * Added initial inline docs
399
- * Respects HTTP_PROXY env var during installation
400
- * Don't overwrite sockfile_path if set explicitly
566
+ - Improved error handling and internal metrics
567
+ - Improved missing native agent message
568
+ - Improved install logging
569
+ - Added initial inline docs
570
+ - Respects HTTP_PROXY env var during installation
571
+ - Don't overwrite sockfile_path if set explicitly
401
572
 
402
573
  ## 0.3.10 (April 8, 2014)
403
574
 
404
- * Don't raise on missing native agent path
575
+ - Don't raise on missing native agent path
405
576
 
406
577
  ## 0.3.9 (April 8, 2014)
407
578
 
408
- * Avoid finalizing sockets in the child process
409
- * Fix non-displaying warnings around native agent
410
- * Remove HTTP path information from title for better grouping
579
+ - Avoid finalizing sockets in the child process
580
+ - Fix non-displaying warnings around native agent
581
+ - Remove HTTP path information from title for better grouping
411
582
 
412
583
  ## 0.3.8 (April 3, 2014)
413
584
 
414
- * Update vendored highline to 1.6.21
415
- * Send more information with exceptions for easier debugging
416
- * Instrument and report internal agent metrics for easier debugging
417
- * Fix bug with tracking request counts per endpoint
585
+ - Update vendored highline to 1.6.21
586
+ - Send more information with exceptions for easier debugging
587
+ - Instrument and report internal agent metrics for easier debugging
588
+ - Fix bug with tracking request counts per endpoint
418
589
 
419
590
  ## 0.3.7 (March 31, 2014)
420
591
 
421
- * Use a default event category if none passed to Skylight.instrument
422
- * Fix bugs around disabling the agent
423
- * Fix native extension compilation bugs
592
+ - Use a default event category if none passed to Skylight.instrument
593
+ - Fix bugs around disabling the agent
594
+ - Fix native extension compilation bugs
424
595
 
425
596
  ## 0.3.6 (March 27, 2014)
426
597
 
427
- * Shorter token validation timeout
428
- * Allow validation to be skipped
598
+ - Shorter token validation timeout
599
+ - Allow validation to be skipped
429
600
 
430
601
  ## 0.3.5 (March 26, 2014)
431
602
 
432
- * Update Rust component
433
- * Return true from Task#handle to avoid sutdown
434
- * Fix numeric check that caused crash on some 32-bit systems
435
- * Improve error message for missing Skylight ext
436
- * Better config error messages
437
- * Validate authentication token before starting
438
- * Add proxy support
603
+ - Update Rust component
604
+ - Return true from Task#handle to avoid sutdown
605
+ - Fix numeric check that caused crash on some 32-bit systems
606
+ - Improve error message for missing Skylight ext
607
+ - Better config error messages
608
+ - Validate authentication token before starting
609
+ - Add proxy support
439
610
 
440
611
  ## 0.3.4 (March 13, 2014)
441
612
 
442
- * Don't try to boot Skylight without native agent
443
- * Make exception classes always available
444
- * CLI should require railtie before loading application.rb
613
+ - Don't try to boot Skylight without native agent
614
+ - Make exception classes always available
615
+ - CLI should require railtie before loading application.rb
445
616
 
446
617
  ## 0.3.3 (March 12, 2014)
447
618
 
448
- * Load the railtie even without native agent
619
+ - Load the railtie even without native agent
449
620
 
450
621
  ## 0.3.2 (March 11, 2014)
451
622
 
452
- * Autoload Skylight:Helpers even when native agent isn't available
453
- * Fix SEGV
623
+ - Autoload Skylight:Helpers even when native agent isn't available
624
+ - Fix SEGV
454
625
 
455
626
  ## 0.3.1 (March 8, 2014)
456
627
 
457
- * Fix requires to allow CLI to function without native extension.
628
+ - Fix requires to allow CLI to function without native extension.
458
629
 
459
630
  ## 0.3.0 (February 28, 2014)
460
631
 
461
- * Native Rust agent
462
- * Send exceptions occurring during HTTP requests to the client.
463
- * Warn users when skylight is potentially disabled incorrectly.
464
- * Update SQL Lexer to 0.0.6
465
- * Log the backtraces of unhandled exceptions
466
- * Add support for disabling GC tracking
467
- * Add support for disabling agent
632
+ - Native Rust agent
633
+ - Send exceptions occurring during HTTP requests to the client.
634
+ - Warn users when skylight is potentially disabled incorrectly.
635
+ - Update SQL Lexer to 0.0.6
636
+ - Log the backtraces of unhandled exceptions
637
+ - Add support for disabling GC tracking
638
+ - Add support for disabling agent
468
639
 
469
640
  ## 0.2.7 (February 26, 2014)
470
641
 
471
- * Disable annotations to reduce memory load.
642
+ - Disable annotations to reduce memory load.
472
643
 
473
644
  ## 0.2.6 (February 25, 2014)
474
645
 
475
- * `inspect` even whitelisted payload props
476
- * Ignore Errno::EINTR for 'ps' call
646
+ - `inspect` even whitelisted payload props
647
+ - Ignore Errno::EINTR for 'ps' call
477
648
 
478
649
  ## 0.2.5 (February 21, 2014)
479
650
 
480
- * Revert "Update SqlLexer to 0.0.4"
651
+ - Revert "Update SqlLexer to 0.0.4"
481
652
 
482
653
  ## 0.2.4 (February 20, 2014)
483
654
 
484
- * Whitelist process action annotation keys.
485
- * Update SqlLexer to 0.0.4
655
+ - Whitelist process action annotation keys.
656
+ - Update SqlLexer to 0.0.4
486
657
 
487
658
  ## 0.2.3 (December 20, 2013)
488
659
 
489
- * Fix SQL lexing for comments, arrays, double-colon casting, and multiple queries
490
- * Handle template paths from gems
491
- * Status and exception reports for agent debugging
660
+ - Fix SQL lexing for comments, arrays, double-colon casting, and multiple queries
661
+ - Handle template paths from gems
662
+ - Status and exception reports for agent debugging
492
663
 
493
664
  ## 0.2.2 (December 10, 2013)
494
665
 
495
- * Added support for Mongoid/Moped
496
- * Fix probe enabling
497
- * Improved error reporting
498
- * Fix bug with multiple subscribers to same notification
666
+ - Added support for Mongoid/Moped
667
+ - Fix probe enabling
668
+ - Improved error reporting
669
+ - Fix bug with multiple subscribers to same notification
499
670
 
500
671
  ## 0.2.1 (December 4, 2013)
501
672
 
502
- * Fix bin/skylight
673
+ - Fix bin/skylight
503
674
 
504
675
  ## 0.2.0 (December 3, 2013)
505
676
 
506
- * Added Probes, initially Net::HTTP and Excon
507
- * Wide-ranging memory cleanup
508
- * Better resiliance to binary and encoding errors
509
- * Add support for disabling
510
- * De-dupe rendering instrumentation better
511
- * Fix send_file event to not spew a gazillion nodes
512
- * Rails 3.0 compatibility
513
- * Detailed SQL annotations
677
+ - Added Probes, initially Net::HTTP and Excon
678
+ - Wide-ranging memory cleanup
679
+ - Better resiliance to binary and encoding errors
680
+ - Add support for disabling
681
+ - De-dupe rendering instrumentation better
682
+ - Fix send_file event to not spew a gazillion nodes
683
+ - Rails 3.0 compatibility
684
+ - Detailed SQL annotations
514
685
 
515
686
  ## 0.1.8 (July 19, 2013)
516
687
 
517
- * Update agent for new authentication scheme
518
- * Change ENV variable prefix from SK_ to SKYLIGHT_
688
+ - Update agent for new authentication scheme
689
+ - Change ENV variable prefix from SK* to SKYLIGHT*
519
690
 
520
691
  ## 0.1.7 (July 11, 2013)
521
692
 
522
- * Add instrument_method helper
523
- * Add the ability to configure logging from railtie
524
- * Tracks the current host
525
- * [BUG] Handle AS::N monkey patching when there are already subscribers
526
- * [BUG] Handle ruby 1.9.2 encoding bug
693
+ - Add instrument_method helper
694
+ - Add the ability to configure logging from railtie
695
+ - Tracks the current host
696
+ - [BUG] Handle AS::N monkey patching when there are already subscribers
697
+ - [BUG] Handle ruby 1.9.2 encoding bug
527
698
 
528
699
  ## 0.1.6 (June 11, 2013)
529
700
 
530
- * [BUG] Fix unix domain socket write function in standalone agent
531
- * Performance improvements
532
- * Tolerate invalid trace building
533
- * Fix Skylight on Rails 4
701
+ - [BUG] Fix unix domain socket write function in standalone agent
702
+ - Performance improvements
703
+ - Tolerate invalid trace building
704
+ - Fix Skylight on Rails 4
534
705
 
535
706
  ## 0.1.5 (May 31, 2013)
536
707
 
537
- * Provide a default CA cert when one is not already present
538
- * Expose Skylight.start! and Skylight.trace as APIs
539
- * Expose Skylight.instrument as an API for custom instrumentation.
708
+ - Provide a default CA cert when one is not already present
709
+ - Expose Skylight.start! and Skylight.trace as APIs
710
+ - Expose Skylight.instrument as an API for custom instrumentation.
540
711
 
541
712
  ## 0.1.4 (May 30, 2013)
542
713
 
543
- * [BUG] Fix some errors caused by floating point rounding
544
- * [BUG] Handle clock skew caused by system clock changes
714
+ - [BUG] Fix some errors caused by floating point rounding
715
+ - [BUG] Handle clock skew caused by system clock changes
545
716
 
546
717
  ## 0.1.3 (May 29, 2013)
547
718
 
548
- * [BUG] Require net/https and openssl
549
- * [BUG] Rails' logger does not respond to #log. Use level methods
719
+ - [BUG] Require net/https and openssl
720
+ - [BUG] Rails' logger does not respond to #log. Use level methods
550
721
  instead
551
722
 
552
723
  ## 0.1.2 (May 29, 2013)
553
724
 
554
- * [BUG] Disable GC profiling on JRuby
725
+ - [BUG] Disable GC profiling on JRuby
555
726
 
556
727
  ## 0.1.1 (May 29, 2013)
557
728
 
558
- * [BUG] GC Profiling was not getting enabled
729
+ - [BUG] GC Profiling was not getting enabled
559
730
 
560
731
  ## 0.1.0 (May 24, 2013)
561
732
 
562
- * Initial release
733
+ - Initial release