Sha256: c9acf2ac7ea31c611a82029d2fbc4ddbcbd6799c1003e5274249f43d96efc917
Contents?: true
Size: 768 Bytes
Versions: 2
Compression:
Stored size: 768 Bytes
Contents
# frozen_string_literal: true require 'thread' require_relative './async_reporter/buffer' module Jaeger module Client class AsyncReporter def self.create(sender:, flush_interval:) reporter = new(sender) # start flush thread Thread.new do loop do reporter.flush sleep(flush_interval) end end reporter end def initialize(sender) @sender = sender @buffer = Buffer.new end def flush spans = @buffer.retrieve @sender.send_spans(spans) if spans.any? spans end def report(span) return if !span.context.sampled? && !span.context.debug? @buffer << span end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jaeger-client-0.7.1 | lib/jaeger/client/async_reporter.rb |
jaeger-client-0.7.0 | lib/jaeger/client/async_reporter.rb |