feat(findings): Improve performance on /findings/metadata, /overviews and filters (#7690)

This commit is contained in:
Víctor Fernández Poyatos authored and César Arroba committed 2025-05-19 10:45:46 +02:00
1 parent deed6c0b5e
commit e2c93a0ba8
25 files changed
+1031 -190

No files matched your search

+2 -2
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import argparse
import os
import re
import subprocess
import sys
@@ -122,8 +123,7 @@ def main() -> None:
args = parser.parse_args()
metrics_dir = Path(args.metrics_dir)
if not metrics_dir.is_dir():
sys.exit(f"Metrics directory not found: {metrics_dir}")
os.makedirs(metrics_dir, exist_ok=True)
metrics_data: dict[str, pd.DataFrame] = {}
for csv_file in sorted(metrics_dir.glob("*.csv")):
+1
View File
@@ -1,2 +1,3 @@
locust==2.34.1
matplotlib==3.10.1
pandas==2.2.3
+16 -2
View File
@@ -180,13 +180,27 @@ class APIUser(APIUserBase):
)
endpoint = (
f"/findings?filter[{filter_name}]={filter_value}"
f"/findings/metadata?filter[{filter_name}]={filter_value}"
f"&filter[inserted_at]={TARGET_INSERTED_AT}"
f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}"
)
self.client.get(endpoint, headers=get_auth_headers(self.token), name=name)
@task
@task(3)
def findings_metadata_resource_filter_scan_large(self):
name = "/findings/metadata?filter[resource_filter]&filter[scan_id] - 500k"
filter_name, filter_value = get_next_resource_filter(
self.available_resource_filters
)
endpoint = (
f"/findings/metadata?filter[{filter_name}]={filter_value}"
f"&filter[scan]={self.l_scan_id}"
f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}"
)
self.client.get(endpoint, headers=get_auth_headers(self.token), name=name)
@task(2)
def findings_resource_filter_large_scan_include(self):
name = "/findings?filter[resource_filter][scan]&include - 500k"
filter_name, filter_value = get_next_resource_filter(