def instrument_multi_method method_name
visibility = NewRelic::Helper.instance_method_visibility ::Dalli::Client, method_name
method_name_without = "#{method_name}_without_newrelic_trace""#{method_name}_without_newrelic_trace"
::Dalli::Client.class_eval do
alias_method method_name_without, method_name
define_method method_name do |*args, &block|
segment = NewRelic::Agent::Transaction.start_segment "Ruby/Memcached/Dalli/#{method_name}"
begin
__send__ method_name_without, *args, &block
ensure
segment.finish
end
end
__send__ visibility, method_name
__send__ visibility, method_name_without
end
end