module InfluxReporter::TraceHelpers::ClassMethods

Public Instance Methods

trace_class_method(method, signature, kind) click to toggle source
# File lib/influx_reporter/trace_helpers.rb, line 6
def trace_class_method(method, signature, kind)
  __trace_method_on(singleton_class, method, signature, kind)
end

Private Instance Methods

__trace_method_on(klass, method, signature, kind) click to toggle source
# File lib/influx_reporter/trace_helpers.rb, line 12
      def __trace_method_on(klass, method, signature, kind)
        klass.class_eval <<-RUBY, __FILE__, __LINE__ + 1
          alias :"__without_opb_#{method}" :"#{method}"

          def #{method}(*args, &block)
            InfluxReporter.trace "#{signature}", "#{kind}" do
              __without_opb_#{method}(*args, &block)
            end
          end
        RUBY
      end