Module: Datadog::AppSec::Metrics::Exporter

Defined in:
lib/datadog/appsec/metrics/exporter.rb

Overview

A class responsible for exporting WAF and RASP call metrics.

Class Method Summary collapse

Class Method Details

.convert_ns_to_us(value) ⇒ Object

private



29
30
31
# File 'lib/datadog/appsec/metrics/exporter.rb', line 29

def convert_ns_to_us(value)
  value / 1000.0
end

.export_rasp_metrics(metrics, span) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/datadog/appsec/metrics/exporter.rb', line 18

def export_rasp_metrics(metrics, span)
  return if metrics.evals.zero?

  span.set_tag('_dd.appsec.rasp.rule.eval', metrics.evals)
  span.set_tag('_dd.appsec.rasp.timeout', 1) unless metrics.timeouts.zero?
  span.set_tag('_dd.appsec.rasp.duration', convert_ns_to_us(metrics.duration_ns))
  span.set_tag('_dd.appsec.rasp.duration_ext', convert_ns_to_us(metrics.duration_ext_ns))
end

.export_waf_metrics(metrics, span) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/datadog/appsec/metrics/exporter.rb', line 10

def export_waf_metrics(metrics, span)
  return if metrics.evals.zero?

  span.set_tag('_dd.appsec.waf.timeouts', metrics.timeouts)
  span.set_tag('_dd.appsec.waf.duration', convert_ns_to_us(metrics.duration_ns))
  span.set_tag('_dd.appsec.waf.duration_ext', convert_ns_to_us(metrics.duration_ext_ns))
end