lib/instana/instrumentation/sidekiq-client.rb in instana-1.211.0 vs lib/instana/instrumentation/sidekiq-client.rb in instana-1.212.0

- old
+ new

@@ -12,11 +12,20 @@ ::Instana.tracer.log_entry(:'sidekiq-client', kv_payload) # Temporary until we move connection collection to redis # instrumentation Sidekiq.redis_pool.with do |client| - opts = client.respond_to?(:connection) ? client.connection : client.client.options - kv_payload[:'sidekiq-client'][:'redis-url'] = "#{opts[:host]}:#{opts[:port]}" + sidekiq_version = Gem::Specification.find_by_name('sidekiq').version + host, port = if sidekiq_version >= Gem::Version.new('7.0') && client.respond_to?(:config) && client.config.respond_to?(:host) && client.config.respond_to?(:port) + [client.config.host, client.config.port] + elsif client.respond_to?(:connection) + [client.connection[:host], client.connection[:port]] + elsif client.respond_to?(:client) && client.client.respond_to?(:options) + [client.client.options[:host], client.client.options[:port]] + else # Unexpected version, continue without recording any redis-url + break + end + kv_payload[:'sidekiq-client'][:'redis-url'] = "#{host}:#{port}" end context = ::Instana.tracer.context if context msg['X-Instana-T'] = context.trace_id_header