lib/new_relic/agent/instrumentation/excon.rb in newrelic_rpm-8.12.0 vs lib/new_relic/agent/instrumentation/excon.rb in newrelic_rpm-8.13.0

- old
+ new

@@ -15,10 +15,11 @@ # something else after we install our instrumentation. Ideally, excon would # itself conform to the #subscribe interface of ActiveSupport::Notifications, # so we could safely subscribe and not be clobbered by future subscribers, # but alas, it does not yet. + # TODO: MAJOR VERSION - update min version to 0.56.0 EXCON_MIN_VERSION = Gem::Version.new("0.19.0") depends_on do defined?(::Excon) && defined?(::Excon::VERSION) end @@ -28,9 +29,25 @@ if excon_version >= EXCON_MIN_VERSION install_excon_instrumentation(excon_version) else ::NewRelic::Agent.logger.warn("Excon instrumentation requires at least version #{EXCON_MIN_VERSION}") end + end + + executes do + next unless Gem::Version.new(::Excon::VERSION) < Gem::Version.new('0.56.0') + + deprecation_msg = 'Instrumentation for Excon versions below 0.56.0 is deprecated.' \ + 'They will stop being monitored in version 9.0.0. ' \ + 'Please upgrade your Excon version to continue receiving full support. ' + + ::NewRelic::Agent.logger.log_once( + :warn, + :deprecated_excon_version, + deprecation_msg + ) + + ::NewRelic::Agent.record_metric("Supportability/Deprecated/Excon", 1) end def install_excon_instrumentation(excon_version) require 'new_relic/agent/distributed_tracing/cross_app_tracing' require 'new_relic/agent/http_clients/excon_wrappers'