Sha256: 597261971286b04464fae4028d5ba2ed8d02fcd2a67c184b07cd951528710808
Contents?: true
Size: 825 Bytes
Versions: 34
Compression:
Stored size: 825 Bytes
Contents
module Datadog # SyncWriter flushes both services and traces synchronously class SyncWriter attr_reader :transport def initialize(options = {}) @transport = options.fetch(:transport) do HTTPTransport.new(Writer::HOSTNAME, Writer::PORT) end end def write(trace, services) perform_concurrently( proc { flush_services(services) }, proc { flush_trace(trace) } ) rescue => e Tracer.log.debug(e) end private def perform_concurrently(*tasks) tasks.map { |task| Thread.new(&task) }.each(&:join) end def flush_services(services) transport.send(:services, services) end def flush_trace(trace) processed_traces = Pipeline.process!([trace]) transport.send(:traces, processed_traces) end end end
Version data entries
34 entries across 34 versions & 1 rubygems