Notes
Expected Error API
The agent now sends up
error.expectedas an intrinsic attribute on error events and error traces. When you passexpected: trueto thenotice_errormethod, both Insights and APM will indicate that the error is expected.Typhoeus Hydra Instrumentation
The agent now has request level visibility for HTTP requests made using Typhoeus Hydra.
Total Time Metrics are Recorded
The agent now records Total Time metrics. In an application where segments execute concurrently, the total time can exceed the wall-clock time for a transaction. Users of the new Typhoeus Hydra instrumentation will notice this as changes on the overview page. Immediately after upgrading there will be an alert in the APM dashboard that states: "There are both old and new time metrics for this time window". This indicates that during that time window, some transactions report the total time metrics, while others do not. The message will go away after waiting for enough time to elapse and / or updating the time window.
Add
:messagecategory toset_transaction_namepublic API methodThe agent now permits the
:messagecategory to be passed into the public API methodset_transaction_name, which will enable the transaction to be displayed as a messaging transaction.Create
prepend_active_record_instrumentationconfig optionUsers may now set the
prepend_active_record_instrumentationoption in their agent config to install Active Record 3 or 4 instrumentation usingModule.prependrather thanalias_method.Use Lazy load hooks for
ActionController::BaseandActionController::APIThe agent now uses lazy load hooks to hook on
ActionController::BaseandActionController::API. Thanks Edouard Chin for the contribution!Use Lazy load hooks for
ActiveRecord::BaseandActiveRecord::RelationThe agent uses lazy load hooks when recording supportability metrics for
ActiveRecord::BaseandActiveRecord::Relation. Thanks Joseph Haig for the contribution!Check that
Rails::VERSIONis defined instead of justRailsThe agent now checks that
Rails::VERSIONis defined since there are cases whereRailsis defined butRails::VERSIONis not. Thanks to Alex Riedler and nilsding for the contribution!Support fast RPC/direct reply-to in RabbitMQ
The agent can now handle the pseudo-queue 'amq.rabbitmq.reply-to' in its Bunny instrumentation. Previously, using fast RPC led to a
NoMethodErrorbecause the reply-to queue was expected to be aQueueobject instead of a string.