skylight 5.0.0.beta4 → 5.1.0.beta2

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