class Jaeger::Reporters::RemoteReporter
Public Class Methods
new(sender:, flush_interval:)
click to toggle source
# File lib/jaeger/reporters/remote_reporter.rb, line 8 def initialize(sender:, flush_interval:) @sender = sender @flush_interval = flush_interval @buffer = Buffer.new end
Public Instance Methods
flush()
click to toggle source
# File lib/jaeger/reporters/remote_reporter.rb, line 14 def flush spans = @buffer.retrieve @sender.send_spans(spans) if spans.any? spans end
report(span)
click to toggle source
# File lib/jaeger/reporters/remote_reporter.rb, line 20 def report(span) return if !span.context.sampled? && !span.context.debug? init_reporter_thread @buffer << span end
Private Instance Methods
init_reporter_thread()
click to toggle source
# File lib/jaeger/reporters/remote_reporter.rb, line 29 def init_reporter_thread return if @initializer_pid == Process.pid @initializer_pid = Process.pid Thread.new do loop do flush sleep(@flush_interval) end end end