class InfluxReporter::Trace
Constants
- DEFAULT_KIND
Attributes
duration[R]
extra[RW]
kind[RW]
parents[RW]
relative_start[R]
signature[RW]
start_time[R]
timestamp[R]
transaction[R]
Public Class Methods
new(transaction, signature, kind = nil, parents = [], extra = nil)
click to toggle source
# File lib/influx_reporter/trace.rb, line 9 def initialize(transaction, signature, kind = nil, parents = [], extra = nil) @transaction = transaction @signature = signature @kind = kind || DEFAULT_KIND @parents = parents || [] @extra = extra || {} @timestamp = Util.nanos end
Public Instance Methods
done(ms = Util.nanos)
click to toggle source
# File lib/influx_reporter/trace.rb, line 30 def done(ms = Util.nanos) @duration = ms - start_time @transaction._trace_stopped self self end
done?()
click to toggle source
# File lib/influx_reporter/trace.rb, line 37 def done? !!duration end
inspect()
click to toggle source
# File lib/influx_reporter/trace.rb, line 45 def inspect info = %w[signature kind parents extra timestamp duration relative_start] "<Trace #{info.map { |m| "#{m}:#{send(m).inspect}" }.join(' ')}>" end
running?()
click to toggle source
# File lib/influx_reporter/trace.rb, line 41 def running? !done? end
start(relative_to)
click to toggle source
# File lib/influx_reporter/trace.rb, line 22 def start(relative_to) @start_time = Util.nanos @relative_start = start_time - relative_to @transaction._trace_started self self end