module TraceD::ClassMethods

Public Instance Methods

statsd_trace(method, opts = {}) click to toggle source
# File lib/traced.rb, line 27
def statsd_trace(method, opts = {})

  old_method_name = traced_method_name(method)
  alias_method old_method_name, method

  define_method method do |*args|

    opts[:stat_name] ||= default_time_stat_name(method)
    opts[:count_stat_name] = default_count_stat_name(opts[:stat_name])

    ::TraceD::Client.increment(opts[:count_stat_name]) if opts[:count]
    ::TraceD::Client.time(opts[:stat_name]) do
      self.send(old_method_name, *args)
    end
  end

end