module OpenTracing::Instrumented::ClassMethods
Public Instance Methods
traced(*method_names)
click to toggle source
Wraps a method and traces its call. The span's operation name will be <class name>.<method name>.
@param [Array<Symbol>] method_name
Calls superclass method
# File lib/opentracing/instrumented.rb, line 15 def traced(*method_names) proxy = Module.new method_names.each do |method_name| operation_name = "#{name}.#{method_name}" proxy.define_method(method_name) do |*args, &block| ret = nil OpenTracing.start_active_span(operation_name) do ret = super(*args, &block) end ret end end prepend proxy end