class Mnemosyne::Span
Attributes
finish[R]
meta[R]
name[R]
start[R]
type[R]
uuid[R]
Public Class Methods
new(name, start: false, finish: false, meta: {})
click to toggle source
# File lib/mnemosyne/span.rb, line 7 def initialize(name, start: false, finish: false, meta: {}) @type = nil @name = name @meta = meta @uuid = ::SecureRandom.uuid @start = start @finish = finish end
Public Instance Methods
finish!(oneshot: false)
click to toggle source
# File lib/mnemosyne/span.rb, line 25 def finish!(oneshot: false) raise 'Already finished' if @finish @finish = ::Mnemosyne::Clock.tick if oneshot @start ||= @finish @type = :oneshot end self end
serialize()
click to toggle source
# File lib/mnemosyne/span.rb, line 38 def serialize { uuid: uuid, name: name, type: type, start: start, stop: finish, meta: meta } end
start!()
click to toggle source
# File lib/mnemosyne/span.rb, line 17 def start! raise 'Already started' if @start @start = ::Mnemosyne::Clock.tick self end