skylight 4.2.3 → 5.3.0

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