Releases: honeycombio/beeline-ruby
v2.1.0
Features
- Adding X-Forwarded-For to instrumented fields | #91 | @paulosman
- Add request.header.accept_language field | #94 | @timcraft
- Support custom notifications based on a regular expression | #92 | @mrchucho
Fixes
- Properly pass options for Ruby 2.7 | #85 | @terracatta
- Fix regex substitution for warden and
empty?
errors for Rack | #88 | @irvingreid
v2.0.0
honeycomb-beeline v2.0.0
This version of the Ruby Beeline includes a number of changes and enhancements designed to address specific use cases and make some aspects of the various beelines more consistent. Included in this release:
-
The Rails generator now produces a configuration that excludes
redis.command
,sql.active_record.binds
andsql.active_record.type_casted_binds
by default. The purpose of this change is to highlight the ability to scrub potentially sensitive fields from being automatically sent to Honeycomb if desired. #74 -
The beeline now exposes the following class methods:
Honeycomb.libhoney
returns the underlying libhoney-rb instance. #70Honeycomb.current_span
now returns the currently instrumented span. #46Honeycomb.current_trace
returns the currently instrumented trace. #46
-
Added auto_instrumentation fields to be more in line with other beelines. #69
meta.instrumentations_count
- The number of integrations included in the config (i.e. redis, aws, etc)meta.instrumentations
- A list of the integrations that are includedrequest.header.accept
- The value of theAccept
header from the incoming requestrequest.header.content_type
- The value of theContent-Type
header from the incoming requestrequest.secure
- Is the request secure (https
orwss
)request.xhr
- Is this request anXMLHTTPRequest
?response.content_type
- The value of theContent-Type
header on the outgoing response
-
Refactored Rails integration which avoids extraneous query string parsing fixing a number of bugs. #73
-
Better handling of bad request params fixing bug that caused rails middleware to break on bad params. #50
-
Fixed bug preventing Redis client from being disabled. #60
-
Changed order of ActionDispatch::ShowExceptions insertion to ensure correct HTTP status error codes are returned by Rails (400s instead of 500s). #49
-
AWS params are exploded properly into separate keys instead of being mashed into a single
aws.params
field. #44 -
request.error
andrequest.error_detail
are nowerror
anderror_detail
when used in a non-request context. Consistent with other beelines. #63 -
Unpacks hashes in
ActionController::Parameters
ensuring that the nested data is parsed by Honeycomb. #75
This release features contributions from @martin308 @paulosman @lizthegrey @ajvondrak @polotek and @cade . Thank you all!
Backwards Incompatibilities
Because this is a major version bump, backwards incompatible changes should be expected. The following changes specifically are important to be aware of:
-
#75 - A result of this change is that
ActionController::Parameters
is instrumented as a nested hash, resulting in JSON unfurling based on how the Honeycomb dataset is configured. You'll see more fields added to your dataset and different values for fields that used to contain nested values. This is important if you have any queries that rely on fields instrumented fromActionController::Parameters
. -
#44 - AWS parameters are now exploded so that they are instrumented as separate fields in a dataset. It used to be that
aws.params
would be a string-ified object. Now parameters are instrumented as their own fields (i.e.aws.params.bucket
). The result of this is that new fields will appear andaws.params
will go away in datasets that use the aws integration. -
#63 - This change moved fields around a bit, specifically
request.error
becomeserror
andrequest.error_detail
becomeserror_detail
. Queries may need to be updated and custom instrumentation that does not use theapp
namespace could possibly introduce collisions. -
#69 - Amongst other changes, this change results in
request.protocol
becomingrequest.scheme
in order to be more consistent with other beelines. Queries may need to be updated.
v1.3.0
v1.2.0
v1.1.1
v1.1.0
v1.0.1
Fixes
- Set sample_hook and presend_hook on child spans | #26 | @orangejulius
- No-op if no client found in Faraday integration | #27 | @Sergio-Mira
v1.0.0
Version 1 is a milestone release. A complete re-write and modernization of Honeycomb's Ruby support.
See UPGRADING.md for migrating from v0.8.0 and see https://docs.honeycomb.io for full documentation.