Module: TraceD::ClassMethods
- Includes:
- InstanceMethods
- Defined in:
- lib/traced.rb
Instance Method Summary collapse
Methods included from InstanceMethods
#default_count_stat_name, #default_time_stat_name, #traced_method_name
Instance Method Details
#statsd_trace(method, opts = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# 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 |