skylight 5.1.0.beta → 5.1.0.beta2

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