Просмотр исходного кода

try out emitting metrics with new backend

Riya Chakraborty 1 год назад
Родитель
Сommit
743a8a0783
1 измененных файлов с 18 добавлено и 0 удалено
  1. 18 0
      src/sentry/tasks/post_process.py

+ 18 - 0
src/sentry/tasks/post_process.py

@@ -16,6 +16,8 @@ from sentry.exceptions import PluginError
 from sentry.issues.grouptype import GroupCategory
 from sentry.issues.grouptype import GroupCategory
 from sentry.issues.issue_occurrence import IssueOccurrence
 from sentry.issues.issue_occurrence import IssueOccurrence
 from sentry.killswitches import killswitch_matches_context
 from sentry.killswitches import killswitch_matches_context
+from sentry.sentry_metrics.client import generic_metrics_backend
+from sentry.sentry_metrics.use_case_id_registry import UseCaseID
 from sentry.signals import event_processed, issue_unignored, transaction_processed
 from sentry.signals import event_processed, issue_unignored, transaction_processed
 from sentry.tasks.base import instrumented_task
 from sentry.tasks.base import instrumented_task
 from sentry.utils import metrics
 from sentry.utils import metrics
@@ -115,6 +117,21 @@ def _capture_event_stats(event: Event) -> None:
     metrics.timing("events.size.data", event.size, tags=tags)
     metrics.timing("events.size.data", event.size, tags=tags)
 
 
 
 
+def _update_escalating_metrics(event: Event) -> None:
+    """
+    Update metrics for escalating issues when an event is processed.
+    """
+    generic_metrics_backend.counter(
+        UseCaseID.ESCALATING_ISSUES,
+        org_id=event.project.organization_id,
+        project_id=event.project.id,
+        metric_name="event_ingested",
+        value=1,
+        tags={"group": str(event.group_id)},
+        unit=None,
+    )
+
+
 def _capture_group_stats(job: PostProcessJob) -> None:
 def _capture_group_stats(job: PostProcessJob) -> None:
     event = job["event"]
     event = job["event"]
     if not job["group_state"]["is_new"] or not should_write_event_stats(event):
     if not job["group_state"]["is_new"] or not should_write_event_stats(event):
@@ -571,6 +588,7 @@ def post_process_group(
         update_event_groups(event, group_states)
         update_event_groups(event, group_states)
         bind_organization_context(event.project.organization)
         bind_organization_context(event.project.organization)
         _capture_event_stats(event)
         _capture_event_stats(event)
+        _update_escalating_metrics(event)
 
 
         group_events: Mapping[int, GroupEvent] = {
         group_events: Mapping[int, GroupEvent] = {
             ge.group_id: ge for ge in list(event.build_group_events())
             ge.group_id: ge for ge in list(event.build_group_events())