skylight 5.0.1 → 5.1.1

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