# File lib/new_relic/agent/instrumentation/mongo.rb, line 122
  def instrument_ensure_index
    ::Mongo::Collection.class_eval do
      def ensure_index_with_new_relic_trace(spec, opts = {}, &block)
        segment = new_relic_start_segment :ensureIndex, new_relic_default_payload

        begin
          result = NewRelic::Agent.disable_all_tracing do
            ensure_index_without_new_relic_trace(spec, opts, &block)
          end

          spec = case spec
                 when Array
                   Hash[spec]
                 when String, Symbol
                   { spec => 1 }
                 else
                   spec.dup
                 end

          new_relic_notice_statement(segment.start_time, spec, :ensureIndex) if segment
          result
        ensure
          segment.finish if segment
        end
      end

      alias_method :ensure_index_without_new_relic_trace, :ensure_index
      alias_method :ensure_index, :ensure_index_with_new_relic_trace
    end
  end