skylight 3.1.4 → 5.3.4

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