class Opbeat::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/opbeat/trace.rb, line 8
def initialize transaction, signature, kind = nil, parents = [], extra = nil
  @transaction = transaction
  @signature = signature
  @kind = kind || DEFAULT_KIND
  @parents = parents || []
  @extra = extra

  @timestamp = Util.nearest_minute.to_i
end

Public Instance Methods

done(ms = Util.nanos) click to toggle source
# File lib/opbeat/trace.rb, line 28
def done ms = Util.nanos
  @duration = ms - start_time

  self
end
done?() click to toggle source
# File lib/opbeat/trace.rb, line 34
def done?
  !!duration
end
inspect() click to toggle source
# File lib/opbeat/trace.rb, line 42
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/opbeat/trace.rb, line 38
def running?
  !done?
end
start(relative_to) click to toggle source
# File lib/opbeat/trace.rb, line 21
def start relative_to
  @start_time = Util.nanos
  @relative_start = start_time - relative_to

  self
end