|
3 | 3 | from ddtrace.appsec import _asm_request_context
|
4 | 4 | from ddtrace.appsec import _constants
|
5 | 5 | from ddtrace.appsec._deduplications import deduplication
|
| 6 | +from ddtrace.appsec._utils import DDWaf_info |
6 | 7 | from ddtrace.internal import telemetry
|
7 | 8 | import ddtrace.internal.logger as ddlogger
|
8 | 9 | from ddtrace.internal.telemetry.constants import TELEMETRY_LOG_LEVEL
|
@@ -53,35 +54,35 @@ def _set_waf_error_log(msg: str, version: str, error_level: bool = True) -> None
|
53 | 54 | logger.warning(WARNING_TAGS.TELEMETRY_METRICS, extra=extra, exc_info=True)
|
54 | 55 |
|
55 | 56 |
|
56 |
| -def _set_waf_updates_metric(info, success: bool): |
| 57 | +def _set_waf_updates_metric(info: DDWaf_info, success: bool): |
57 | 58 | try:
|
58 |
| - if info: |
59 |
| - tags: typing.Tuple[typing.Tuple[str, str], ...] = ( |
60 |
| - ("event_rules_version", info.version or UNKNOWN_VERSION), |
61 |
| - ("waf_version", ddwaf_version), |
62 |
| - ("success", bool_str[success]), |
63 |
| - ) |
64 |
| - else: |
65 |
| - tags = (("waf_version", ddwaf_version), ("success", bool_str[success])) |
| 59 | + tags: typing.Tuple[typing.Tuple[str, str], ...] = ( |
| 60 | + ("event_rules_version", info.version or UNKNOWN_VERSION), |
| 61 | + ("waf_version", ddwaf_version), |
| 62 | + ) |
66 | 63 |
|
67 |
| - telemetry.telemetry_writer.add_count_metric(TELEMETRY_NAMESPACE.APPSEC, "waf.updates", 1, tags=tags) |
| 64 | + telemetry.telemetry_writer.add_count_metric( |
| 65 | + TELEMETRY_NAMESPACE.APPSEC, "waf.updates", 1, tags=tags + (("success", bool_str[success]),) |
| 66 | + ) |
| 67 | + if not success: |
| 68 | + telemetry.telemetry_writer.add_count_metric(TELEMETRY_NAMESPACE.APPSEC, "waf.config_errors", 1, tags=tags) |
68 | 69 | except Exception:
|
69 | 70 | extra = {"product": "appsec", "exec_limit": 6, "more_info": ":waf:updates"}
|
70 | 71 | logger.warning(WARNING_TAGS.TELEMETRY_METRICS, extra=extra, exc_info=True)
|
71 | 72 |
|
72 | 73 |
|
73 |
| -def _set_waf_init_metric(info, success: bool): |
| 74 | +def _set_waf_init_metric(info: DDWaf_info, success: bool): |
74 | 75 | try:
|
75 |
| - if info: |
76 |
| - tags: typing.Tuple[typing.Tuple[str, str], ...] = ( |
77 |
| - ("event_rules_version", info.version or UNKNOWN_VERSION), |
78 |
| - ("waf_version", ddwaf_version), |
79 |
| - ("success", bool_str[success]), |
80 |
| - ) |
81 |
| - else: |
82 |
| - tags = (("waf_version", ddwaf_version), ("success", bool_str[success])) |
| 76 | + tags: typing.Tuple[typing.Tuple[str, str], ...] = ( |
| 77 | + ("event_rules_version", info.version or UNKNOWN_VERSION), |
| 78 | + ("waf_version", ddwaf_version), |
| 79 | + ) |
83 | 80 |
|
84 |
| - telemetry.telemetry_writer.add_count_metric(TELEMETRY_NAMESPACE.APPSEC, "waf.init", 1, tags=tags) |
| 81 | + telemetry.telemetry_writer.add_count_metric( |
| 82 | + TELEMETRY_NAMESPACE.APPSEC, "waf.init", 1, tags=tags + (("success", bool_str[success]),) |
| 83 | + ) |
| 84 | + if not success: |
| 85 | + telemetry.telemetry_writer.add_count_metric(TELEMETRY_NAMESPACE.APPSEC, "waf.config_errors", 1, tags=tags) |
85 | 86 | except Exception:
|
86 | 87 | extra = {"product": "appsec", "exec_limit": 6, "more_info": ":waf:init"}
|
87 | 88 | logger.warning(WARNING_TAGS.TELEMETRY_METRICS, extra=extra, exc_info=True)
|
|
0 commit comments