Module: Datadog::AppSec::Metrics::Telemetry

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

Overview

A class responsible for reporting WAF and RASP telemetry metrics.

Class Method Summary collapse

Class Method Details

.report_rasp(type, result) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/datadog/appsec/metrics/telemetry.rb', line 10

def report_rasp(type, result)
  return if result.is_a?(SecurityEngine::Result::Error)

  tags = { rule_type: type, waf_version: Datadog::AppSec::WAF::VERSION::BASE_STRING }
  namespace = Ext::TELEMETRY_METRICS_NAMESPACE

  AppSec.telemetry.inc(namespace, 'rasp.rule.eval', 1, tags: tags)
  AppSec.telemetry.inc(namespace, 'rasp.rule.match', 1, tags: tags) if result.match?
  AppSec.telemetry.inc(namespace, 'rasp.timeout', 1, tags: tags) if result.timeout?
end