# File lib/new_relic/agent/instrumentation/redis.rb, line 77
      def call_pipeline(*args, &block)
        pipeline = args[0]
        operation = pipeline.is_a?(::Redis::Pipeline::Multi) ? NewRelic::Agent::Datastores::Redis::MULTI_OPERATION : NewRelic::Agent::Datastores::Redis::PIPELINE_OPERATION
        statement = ::NewRelic::Agent::Datastores::Redis.format_pipeline_commands(pipeline.commands)

        hostname = NewRelic::Agent::Instrumentation::Redis.host_for(self)
        port_path_or_id = NewRelic::Agent::Instrumentation::Redis.port_path_or_id_for(self)

        segment = NewRelic::Agent::Transaction.start_datastore_segment(NewRelic::Agent::Datastores::Redis::PRODUCT_NAME,
          operation, nil, hostname, port_path_or_id, db)
        begin
          segment.notice_nosql_statement(statement)
          call_pipeline_without_new_relic(*args, &block)
        ensure
          segment.finish
        end
      end