skylight 5.0.0.beta5 → 5.1.0.beta3

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