skylight 4.3.2 → 5.1.1

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