Module: Datadog::AppSec::TraceKeeper

Defined in:
lib/datadog/appsec/trace_keeper.rb

Overview

This class is used to mark trace as manual keep and tag it as ASM product.

Class Method Summary collapse

Class Method Details

.keep!(trace) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/datadog/appsec/trace_keeper.rb', line 7

def self.keep!(trace)
  return unless trace

  # NOTE: This action will not set correct decision maker value, so the
  #       trace keeping must be done with additional steps below
  trace.keep!

  # Propagate to downstream services the information that
  # the current distributed trace is containing at least one ASM event.
  trace.set_tag(
    Tracing::Metadata::Ext::Distributed::TAG_DECISION_MAKER,
    Tracing::Sampling::Ext::Decision::ASM
  )
  trace.set_distributed_source(Ext::PRODUCT_BIT)
end