Sha256: 54e4278afe80178536099eef38bd71724ff6c00eea991d8c5f8dee61ac07c149
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module Datadog # SyncWriter flushes both services and traces synchronously class SyncWriter attr_reader :transport def initialize(options = {}) @transport = options.fetch(:transport) do transport_options = options.fetch(:transport_options, {}) HTTPTransport.new(transport_options) end end def write(trace, services = nil) unless services.nil? Datadog::Patcher.do_once('SyncWriter#write') do Datadog::Tracer.log.warn(%( write: Writing services has been deprecated and no longer need to be provided. write(traces, services) can be updted to write(traces) )) end end perform_concurrently( 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_trace(trace) processed_traces = Pipeline.process!([trace]) transport.send(:traces, processed_traces) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-0.23.0 | lib/ddtrace/sync_writer.rb |