• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Ruby agent release notesRSS

December 19, 2017
Ruby agent v4.7.0.339

Notes

  • Expected Error API

    The agent now sends up error.expected as an intrinsic attribute on error events and error traces. When you pass expected: true to the notice_error method, 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 :message category to set_transaction_name public API method

    The agent now permits the :message category to be passed into the public API method set_transaction_name, which will enable the transaction to be displayed as a messaging transaction.

  • Create prepend_active_record_instrumentation config option

    Users may now set the prepend_active_record_instrumentation option in their agent config to install Active Record 3 or 4 instrumentation using Module.prepend rather than alias_method.

  • Use Lazy load hooks for ActionController::Base and ActionController::API

    The agent now uses lazy load hooks to hook on ActionController::Base and ActionController::API. Thanks Edouard Chin for the contribution!

  • Use Lazy load hooks for ActiveRecord::Base and ActiveRecord::Relation

    The agent uses lazy load hooks when recording supportability metrics for ActiveRecord::Base and ActiveRecord::Relation. Thanks Joseph Haig for the contribution!

  • Check that Rails::VERSION is defined instead of just Rails

    The agent now checks that Rails::VERSION is defined since there are cases where Rails is defined but Rails::VERSION is 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 NoMethodError because the reply-to queue was expected to be a Queue object instead of a string.

November 13, 2017
Ruby agent v4.6.0

Notes

  • Public API for External Requests

    The agent now has public API for instrumenting external requests and linking up transactions via cross application tracing. See the API Guide for more details on this new functionality.

September 28, 2017
Ruby agent v4.5.0.337

Notes

  • Send synthetics headers even when CAT disabled

    The agent now sends synthetics headers whenever they are received from an external request, even if cross-application tracing is disabled.

  • Bugfix for DelayedJob Daemonization

    Customers using the delayed_job script that ships with the gem may encounter an IOError with a message indicating the stream was closed. This was due to the agent attempting to write a byte into a Pipe that was closed during the deamonization of the delayed_job script. This issue has been fixed.

  • Collect supportability metrics for public API

    The agent now collects Supportability/API/{method} metrics to track usage of all methods in the agent's public API.

  • Collect supportability metrics on Module#prepend

    The agent now collects Supportability/PrependedModules/{Module} metrics for ActiveRecord 4 and 5, ActionController 4 and 5, ActionView 4 and 5, ActiveJob 5, and ActionCable 5. These help track the adoption of the Module#prepend method so we can maintain compatibility with newer versions of Ruby and Rails.

  • Collect explain plans when using PostGIS ActiveRecord adapter

    The agent will now collect slow SQL explain plans, if configured to, on connections using the PostGIS adapter. Thanks Ari Pollak for the contribution!

  • Lazily Intialize New Relic Config

    The agent will lazily initialize the New Relic config. This allows the agent to pickup configuration from environment variables set by dotenv and similar tools.

August 28, 2017
Ruby agent v4.4.0.336

Notes

  • Include test helper for 3rd party use

    In 4.2.0, all test files were excluded from being packaged in the gem. An agent class method NewRelic::Agent.require_test_helper was used by 3rd party gem authors to test extensions to the agent. The required file is now included in the gem.

  • Collect cloud metadata from Azure, GCP, PCF, and AWS cloud platform

    The agent now collects additional metadata when running in AWS, GCP, Azure, and PCF. This information is used to provide an enhanced experience when the agent is deployed on those platforms.

  • Install at_exit hook when running JRuby

    The agent now installs an at_exit hook when running JRuby, which wasn't done before because of constraints related to older JRuby versions that are no longer supported.

  • User/Utilization and System/Utilization metrics not recorded after Resque forks

    The agent no longer records invalid User/Utilization and System/Utilization metrics, which can lead to negative values, in forks of Resque processes.

  • Add identifier field to agent connect settings

    The agent now includes a unique identifier in its connect settings, ensuring that when multiple agents connect to multiple different apps, data are reported for each of the apps.

  • Clear transaction state after forking now opt-in

    The agent waits to connect until the first web request when it detects it's running in a forking dispatcher. When clearing the transaction state in this situation we lose the first frame of the transaction and the subsequent trace becomes corrupted. We've made this feature opt-in and is turned off by default. This behavior only affects the first transaction after a dispatcher forks.

July 24, 2017
Ruby agent v4.3.0

v4.3.0

  • Instrumentation for the Bunny AMQP Client

    The Bunny AMQP Client is now automatically instrumented. The agent will report data for messages sent and received by an application. Data on messages is available in both APM and Insights. Applications connected through a RabbitMQ exchange will now also be visible on Service Maps as part of Cross Application Tracing. See the message queues documentation page for more details.

  • Safely normalize external hostnames

    The agent has been updated to check for nil host values before downcasing the hostname. Thanks Rafael Valério for the contribution!

  • PageView events will not be generated for ignored transactions

    The agent now checks if transaction is ignored before injecting the New Relic Browser Agent. This will prevent PageView events from being generated for ignored transactions.

  • Datastores required explicitly in agent

    The agent has been modified to explicity require the Datastores module whereas previously there were situations where the module could be implicitly defined. Thanks Kevin Griffin for the contribution!

  • Clear transaction state after forking

    Previously, if a transaction was started and the process forks, the transaction state survived the fork and #after_fork call in thread local storage. Now, this state is cleared by #after_fork.

  • Postgis adapter reports as Postgres for datastores

    The agent now maps the Postgis adapter to Postgres for datastore metrics. Thanks Vojtěch Vondra for the contribution!

  • Deprecate :trace_only option

    The NewRelic::Agent.notice_error API has been updated to deprecate the :trace_only option in favor of :expected.

May 25, 2017
Ruby agent v4.2.0.334

v4.2.0

  • Sinatra 2.0 and Padrino 0.14.x Support

    The agent has been verified against the latest versions of Sinatra and Padrino.

  • Rails 5.1 Support

    The Ruby agent has been validated against the latest release of Ruby on Rails!

  • APP_ENV considered when determining environment

    The agent will now consider the APP_ENV environment when starting up.

  • Test files excluded from gem

    The gemspec has been updated to exclude test files from being packaged into the gem. Thanks dimko for the contribution!

April 12, 2017
Ruby agent v4.1.0

v4.1.0

March 16, 2017
Ruby agent v4.0.0.332

v4.0.0

  • Require Ruby 2.0.0+

    The agent no longer supports Ruby versions prior to 2.0, JRuby 1.7 and earlier, and all versions of Rubinius. Customers using affected Rubies can continue to run 3.x agent versions, but new features or bugfixes will not be published for 3.x agents. For more information, check out our community forum.

  • OkJson vendored library removed

    Ruby 1.8 did not include the JSON gem by default, so the agent included a vendored version of OkJson that it would fall back on using in cases where the JSON gem was not available. This has been removed.

  • YAJL workaround removed

    yajl-ruby versions prior to 1.2 had the potential to cause a segmentation fault when working large, deeply-nested objects like thread profiles. If you are using yajl-ruby with the JSON monkey patches enabled by requiring yajl/json_gem, you should upgrade to at least version 1.2.

  • Deprecated APIs removed

    • Agent.abort_transaction!
    • Agent.add_custom_parameters
    • Agent.add_request_parameters
    • Agent.browser_timing_footer
    • Agent.get_stats
    • Agent.get_stats_no_scope
    • Agent.record_transaction
    • Agent.reset_stats
    • Agent.set_user_attributes
    • Agent::Instrumentation::Rack
    • ActionController#newrelic_notice_error
    • ActiveRecordHelper.rollup_metrics_for (may be incompatible with newrelic_moped)
    • Instrumentation::MetricFrame.recording_web_transaction?
    • Instrumentation::MetricFrame.abort_transaction!
    • MethodTracer.get_stats_scoped
    • MethodTracer.get_stats_unscoped
    • MethodTracer.trace_method_execution
    • MethodTracer.trace_method_execution_no_scope
    • MethodTracer.trace_method_execution_with_scope
    • MetricSpec#sub
    • MetricStats#get_stats
    • MetricStats#get_stats_no_scope
    • NoticedError#exception_class
    • Rack::ErrorCollector
    • StatsEngine::Samplers.add_sampler
    • StatsEngine::Samplers.add_harvest_sampler

    The above methods have had deprecation notices on them for some time and have now been removed. Assistance migrating usage of these APIs is available at https://docs.newrelic.com/docs/agents/ruby-agent/troubleshooting/update-... .

    The agent no longer deletes deprecated keys passed to add_method_tracer. Passing in deprecated keys can cause an exception. Ensure that you are not passing any of the following keys: :force, :scoped_metric_only, :deduct_call_time_from_parent to add_method_tracer.

    The agent no longer deletes deprecated keys passed in as options to NewRelic::Agent.notice_error. If you are passing any of these deprecated keys: :request_params, :request, :referer to the notice_error API, please delete them otherwise they will be collected as custom attributes.

  • Error handling changes

    The agent now only checks for original_exception in environments with Rails versions prior to 5. Checking for Exception#cause has been removed. In addition, the agent now will match class name with message and backtrace when noticing errors that have an original_exception.

February 9, 2017
Ruby agent v3.18.1.330

v3.18.1

  • Ensure Mongo aggregate queries are properly obfuscated

    Instrumentation for the Mongo 2.x driver had a bug where the pipeline attribute of Mongo aggregate queries was not properly obfuscated. Users who have sensitive data in their aggregate queries are strongly encouraged to upgrade to this version of the agent. Users who are unable to upgrade are encouraged to turn off query collection using by setting mongo.capture_queries to false in their newrelic.yml files.

    This release fixes New Relic Security Bulletin NR17-03.

  • Early access Redis 4.0 instrumentation

    Our Redis instrumentation has been tested against Redis 4.0.0.rc1.

January 23, 2017
Ruby agent v3.18.0.329

v3.18.0

  • Ruby 2.4.0 support

    The agent is now tested against the official release of ruby 2.4.0, excluding incompatible packages.

  • Agent-based metrics will not be recorded outside of active transactions

    The agent has historically recorded metrics outside of a transaction. In practice, this usually occurs in applications that run background job processors. The agent would record metrics for queries the background job processor is making between transactions. This can lead to display issues on the background overview page and the presence of metrics generated by the background job processor can mask the application generated metrics on the database page. The agent will no longer generate metrics outside of a transaction. Custom metrics recorded using NewRelic::Agent.record_metric will continue to be recorded regardless of whether there is an active transaction.

  • Include ControllerInstrumentation module with ActiveSupport.on_load

    The agent will now use the on_load :action_controller hook to include the ControllerInstrumentation module in to both the Base and API classes of ActionController for Rails 5. This ensures that the proper load order is retained, minimizing side-effects of having the agent in an application.

  • Ensure values for revisions on Capistrano deploy notices

    Previously, running the task to look up the changelog could generate an error, if there weren't previous and current revisions defined. This has now been fixed. Thanks Winfield Peterson for the contribution!

  • External Segment Rewrites

    The agent has made internal changes to how it represents segments for external web requests.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.