v6.0.0
Tracer API for flexible custom instrumentation
With agent version 6.0, we are introducing the
Tracerclass, an officially supported public API for more flexible custom instrumentation. By calling itsin_transactionmethod, you can instrument an arbitrary section of Ruby code without needing to juggle any explicit state. Behind the scenes, the agent will make sure that the measured code results in an APM segment inside a transaction.The same API contains additional methods for creating transactions and segments, and for interacting with the current transaction. For more details, see the custom instrumentation documentation.
If you were previously using any of the agent's private, undocumented APIs, such as
Transaction.wraporTransaction.start/stop, you will need to update your code to use the Tracer API.The full list of APIs that were removed or deprecated are:
External.start_segmentTransaction.create_segmentTransaction.startTransaction.stopTransaction.start_datastore_segmentTransaction.start_segmentTransaction.wrapTransactionState.current_transactionIf are you using any of these APIs, please see the upgrade guide for a list of replacements.
Agent detects Rails 6.0
The agent properly detects Rails 6.0 and no longer logs an error when started in a Rails 6.0 environment. This does not include full Rails 6.0 support, which will be coming in a future release. Thanks to Jacob Bednarz for the contribution.