skylight 5.0.0.beta5 → 5.1.0.beta3

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