Repository navigation
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.bindsandsql.active_record.type_casted_bindsby 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.libhoneyreturns the underlying libhoney-rb instance. #70Honeycomb.current_spannow returns the currently instrumented span. #46Honeycomb.current_tracereturns 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 theAcceptheader from the incoming requestrequest.header.content_type- The value of theContent-Typeheader from the incoming requestrequest.secure- Is the request secure (httpsorwss)request.xhr- Is this request anXMLHTTPRequest?response.content_type- The value of theContent-Typeheader 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.paramsfield. #44 -
request.errorandrequest.error_detailare nowerroranderror_detailwhen used in a non-request context. Consistent with other beelines. #63 -
Unpacks hashes in
ActionController::Parametersensuring 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::Parametersis 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.paramswould 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.paramswill go away in datasets that use the aws integration. -
#63 - This change moved fields around a bit, specifically
request.errorbecomeserrorandrequest.error_detailbecomeserror_detail. Queries may need to be updated and custom instrumentation that does not use theappnamespace could possibly introduce collisions. -
#69 - Amongst other changes, this change results in
request.protocolbecomingrequest.schemein order to be more consistent with other beelines. Queries may need to be updated.