lib/datadog/tracing/workers.rb in ddtrace-1.14.0 vs lib/datadog/tracing/workers.rb in ddtrace-1.15.0

- old
+ new

@@ -12,11 +12,11 @@ DEFAULT_BUFFER_MAX_SIZE = 1000 DEFAULT_FLUSH_INTERVAL = 1 DEFAULT_TIMEOUT = 5 BACK_OFF_RATIO = 1.2 BACK_OFF_MAX = 5 - SHUTDOWN_TIMEOUT = 1 + DEFAULT_SHUTDOWN_TIMEOUT = 1 attr_reader \ :trace_buffer def initialize(options = {}) @@ -34,10 +34,11 @@ buffer_size = options.fetch(:buffer_size, DEFAULT_BUFFER_MAX_SIZE) @trace_buffer = TraceBuffer.new(buffer_size) # Threading @shutdown = ConditionVariable.new + @shutdown_timeout = options.fetch(:shutdown_timeout, DEFAULT_SHUTDOWN_TIMEOUT) @mutex = Mutex.new @worker = nil @run = false end @@ -87,10 +88,10 @@ true end # Block until executor shutdown is complete or until timeout seconds have passed. def join - @worker.join(SHUTDOWN_TIMEOUT) + @worker.join(@shutdown_timeout) end # Enqueue an item in the trace internal buffer. This operation is thread-safe # because uses the +TraceBuffer+ data structure. def enqueue_trace(trace)