# File lib/new_relic/agent/instrumentation/memcache.rb, line 34
        def instrument_methods(client_class, requested_methods = METHODS)
          supported_methods_for(client_class, requested_methods).each do |method_name|

            visibility = NewRelic::Helper.instance_method_visibility client_class, method_name
            method_name_without = "#{method_name}_without_newrelic_trace""#{method_name}_without_newrelic_trace"

            client_class.class_eval do
              alias_method method_name_without, method_name

              define_method method_name do |*args, &block|
                segment = NewRelic::Agent::Transaction.start_datastore_segment "Memcached", method_name
                begin
                  send method_name_without, *args, &block
                ensure
                  if NewRelic::Agent.config[:capture_memcache_keys]
                    segment.notice_nosql_statement "#{method_name} #{args.first.inspect}"
                  end
                  segment.finish
                end
              end

              send visibility, method_name
              send visibility, method_name_without
            end
          end
        end