Skip to content

Commit 069cdc5

Browse files
authored
feat(dynamic-sampling): Add project slug to response of AM2 check (#53514)
1 parent 29b55e0 commit 069cdc5

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

Diff for: src/sentry/tasks/check_am2_compatibility.py

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from collections import defaultdict
22
from datetime import datetime, timedelta
33
from enum import Enum
4-
from typing import Any, Dict, List, Mapping, Optional, Set, Tuple
4+
from typing import Any, Dict, Mapping, Optional, Set, Tuple
55

66
import pytz
77
import sentry_sdk
@@ -410,19 +410,14 @@ def get_all_alerts_of_organization(cls, organization_id):
410410

411411
@classmethod
412412
def get_organization_metrics_compatibility(cls, organization, project_objects):
413-
data: Dict[str, List[Any]] = {
414-
"incompatible_projects": [],
415-
"compatible_projects": [],
416-
}
417-
418413
params = {
419414
"organization_id": organization.id,
420415
"project_objects": project_objects,
421416
"start": datetime.now(tz=pytz.UTC) - timedelta(days=QUERY_TIME_RANGE_IN_DAYS),
422417
"end": datetime.now(tz=pytz.UTC),
423418
}
424419

425-
project_ids = [project.id for project in project_objects]
420+
projects = {project.id: project for project in project_objects}
426421

427422
count_has_txn = "count_has_transaction_name()"
428423
count_null = "count_null_transactions()"
@@ -439,14 +434,19 @@ def get_organization_metrics_compatibility(cls, organization, project_objects):
439434
use_aggregate_conditions=True,
440435
)
441436

442-
data["compatible_projects"] = sorted(
443-
row["project.id"] for row in compatible_results["data"]
444-
)
445-
data["incompatible_projects"] = sorted(
446-
list(set(project_ids) - set(data["compatible_projects"]))
447-
)
437+
compatible_project_ids = {row["project.id"] for row in compatible_results["data"]}
438+
incompatible_project_ids = set(projects.keys()) - compatible_project_ids
448439

449-
return data
440+
return {
441+
"compatible_projects": [
442+
{"id": project_id, "slug": projects[project_id].slug}
443+
for project_id in compatible_project_ids
444+
],
445+
"incompatible_projects": [
446+
{"id": project_id, "slug": projects[project_id].slug}
447+
for project_id in incompatible_project_ids
448+
],
449+
}
450450

451451
@classmethod
452452
def run_compatibility_check(cls, org_id):

0 commit comments

Comments
 (0)