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'