Skip to content

Commit 40f8224

Browse files
Update appsec metrics with event_rules_version tag (#8354)
* Update metrics for java: appsec.rasp.rule.eval, appsec.rasp.rule.match and appsec.rasp.timeout (event_rules_version tag)
1 parent 3f4b7a8 commit 40f8224

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

internal-api/src/main/java/datadog/trace/api/telemetry/WafMetricCollector.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,8 @@ public RaspRuleEval(final long counter, final RuleType ruleType, final String wa
328328
? new String[] {
329329
"rule_type:" + ruleType.type,
330330
"rule_variant:" + ruleType.variant,
331-
"waf_version:" + wafVersion
331+
"waf_version:" + wafVersion,
332+
"event_rules_version:" + rulesVersion
332333
}
333334
: new String[] {"rule_type:" + ruleType.type, "waf_version:" + wafVersion});
334335
}
@@ -343,7 +344,8 @@ public RaspRuleMatch(final long counter, final RuleType ruleType, final String w
343344
? new String[] {
344345
"rule_type:" + ruleType.type,
345346
"rule_variant:" + ruleType.variant,
346-
"waf_version:" + wafVersion
347+
"waf_version:" + wafVersion,
348+
"event_rules_version:" + rulesVersion
347349
}
348350
: new String[] {"rule_type:" + ruleType.type, "waf_version:" + wafVersion});
349351
}
@@ -358,7 +360,8 @@ public RaspTimeout(final long counter, final RuleType ruleType, final String waf
358360
? new String[] {
359361
"rule_type:" + ruleType.type,
360362
"rule_variant:" + ruleType.variant,
361-
"waf_version:" + wafVersion
363+
"waf_version:" + wafVersion,
364+
"event_rules_version:" + rulesVersion
362365
}
363366
: new String[] {"rule_type:" + ruleType.type, "waf_version:" + wafVersion});
364367
}

internal-api/src/test/groovy/datadog/trace/api/telemetry/WafMetricCollectorTest.groovy

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,21 +314,36 @@ class WafMetricCollectorTest extends DDSpecification {
314314
raspRuleEval.value == 3
315315
raspRuleEval.namespace == 'appsec'
316316
raspRuleEval.metricName == 'rasp.rule.eval'
317-
raspRuleEval.tags.toSet() == ['rule_type:command_injection', 'rule_variant:'+ruleType.variant, 'waf_version:waf_ver1'].toSet()
317+
raspRuleEval.tags.toSet() == [
318+
'rule_type:command_injection',
319+
'rule_variant:'+ruleType.variant,
320+
'waf_version:waf_ver1',
321+
'event_rules_version:rules.1'
322+
].toSet()
318323

319324
def raspRuleMatch = (WafMetricCollector.RaspRuleMatch)metrics[2]
320325
raspRuleMatch.type == 'count'
321326
raspRuleMatch.value == 1
322327
raspRuleMatch.namespace == 'appsec'
323328
raspRuleMatch.metricName == 'rasp.rule.match'
324-
raspRuleMatch.tags.toSet() == ['rule_type:command_injection', 'rule_variant:'+ruleType.variant, 'waf_version:waf_ver1'].toSet()
329+
raspRuleMatch.tags.toSet() == [
330+
'rule_type:command_injection',
331+
'rule_variant:'+ruleType.variant,
332+
'waf_version:waf_ver1',
333+
'event_rules_version:rules.1'
334+
].toSet()
325335

326336
def raspTimeout = (WafMetricCollector.RaspTimeout)metrics[3]
327337
raspTimeout.type == 'count'
328338
raspTimeout.value == 1
329339
raspTimeout.namespace == 'appsec'
330340
raspTimeout.metricName == 'rasp.timeout'
331-
raspTimeout.tags.toSet() == ['rule_type:command_injection', 'rule_variant:'+ruleType.variant, 'waf_version:waf_ver1'].toSet()
341+
raspTimeout.tags.toSet() == [
342+
'rule_type:command_injection',
343+
'rule_variant:'+ruleType.variant,
344+
'waf_version:waf_ver1',
345+
'event_rules_version:rules.1'
346+
].toSet()
332347

333348
where:
334349
ruleType << [RuleType.COMMAND_INJECTION, RuleType.SHELL_INJECTION]

0 commit comments

Comments
 (0)