skylight 4.3.2 → 5.1.1

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