Module: Datadog::Tracing::Pipeline

Defined in:
lib/datadog/tracing/pipeline.rb,
lib/datadog/tracing/pipeline/span_filter.rb,
lib/datadog/tracing/pipeline/span_processor.rb

Overview

Modifies traces through a set of filters and processors

Defined Under Namespace

Classes: SpanFilter, SpanProcessor

Class Method Summary collapse

Class Method Details

.before_flush(*processors) ⇒ Object .before_flush {|trace| ... } ⇒ Object

Overloads:

See Also:



23
24
25
26
27
28
29
# File 'lib/datadog/tracing/pipeline.rb', line 23

def self.before_flush(*processors, &processor_block)
  processors << processor_block if processor_block

  @mutex.synchronize do
    @processors.concat(processors)
  end
end

.process!(traces) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/datadog/tracing/pipeline.rb', line 31

def self.process!(traces)
  @mutex.synchronize do
    traces
      .map { |trace| apply_processors!(trace) }
      .compact
  end
end

.processors=(value) ⇒ Object



39
40
41
# File 'lib/datadog/tracing/pipeline.rb', line 39

def self.processors=(value)
  @processors = value
end