Sha256: c2d476b301de13a0dba67fca2c06293d35b15e0db2ef2da5537ef6a5e3b91dbe
Contents?: true
Size: 673 Bytes
Versions: 3
Compression:
Stored size: 673 Bytes
Contents
# frozen_string_literal: true require 'thread' require_relative './async_reporter/buffer' module Zipkin 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 unless span.context.sampled? @buffer << span end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
zipkin-1.6.3 | lib/zipkin/async_reporter.rb |
zipkin-1.6.2 | lib/zipkin/async_reporter.rb |
zipkin-1.6.1 | lib/zipkin/async_reporter.rb |