Class: StaticTracing::Tracers::LatencyTracer::LatencyModuleGenerator
- Inherits:
-
Module
- Object
- Module
- StaticTracing::Tracers::LatencyTracer::LatencyModuleGenerator
- Defined in:
- lib/ruby-static-tracing/tracers/latency_tracer.rb
Instance Method Summary collapse
-
#initialize(provider, methods) ⇒ LatencyModuleGenerator
constructor
A new instance of LatencyModuleGenerator.
Constructor Details
#initialize(provider, methods) ⇒ LatencyModuleGenerator
Returns a new instance of LatencyModuleGenerator.
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ruby-static-tracing/tracers/latency_tracer.rb', line 10 def initialize(provider, methods) methods.each do |method| define_method(method) do |*args, &block| start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond) result = super(*args, &block) duration = Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond) - start_time LatencyTracer.fire_tracepoint(provider, method, duration) result end end end |