module Skylight::Core::Fanout
Public Class Methods
broken!()
click to toggle source
# File lib/skylight/core/fanout.rb, line 42 def self.broken! registered.each(&:broken!) end
done(spans, meta = nil)
click to toggle source
# File lib/skylight/core/fanout.rb, line 36 def self.done(spans, meta = nil) spans.reverse_each do |(target, span)| target.done(span, meta) end end
each_trace() { |trace| ... }
click to toggle source
# File lib/skylight/core/fanout.rb, line 50 def self.each_trace return to_enum(__method__) unless block_given? registered.each do |r| next unless r.instrumenter && (trace = r.instrumenter.current_trace) yield trace end end
endpoint=(endpoint)
click to toggle source
# File lib/skylight/core/fanout.rb, line 46 def self.endpoint=(endpoint) each_trace { |t| t.endpoint = endpoint } end
instrument(*args) { |spans| ... }
click to toggle source
# File lib/skylight/core/fanout.rb, line 20 def self.instrument(*args) if block_given? spans = instrument(*args) meta = {} begin yield spans ensure done(spans, meta) end else registered.map do |r| [r, r.instrument(*args)] end end end
register(obj)
click to toggle source
# File lib/skylight/core/fanout.rb, line 8 def self.register(obj) registered.push(obj) end
registered()
click to toggle source
# File lib/skylight/core/fanout.rb, line 4 def self.registered @registered ||= [] end
trace(*args)
click to toggle source
# File lib/skylight/core/fanout.rb, line 16 def self.trace(*args) registered.map { |r| r.trace(*args) } end
unregister(obj)
click to toggle source
# File lib/skylight/core/fanout.rb, line 12 def self.unregister(obj) registered.delete(obj) end