skylight 4.2.3 → 5.3.0

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