Skip to content

Commit 92fb5bd

Browse files
authored
fix(crons): Add missing monitors.checkin.result stat increments (#95505)
When we fail to process events, in some cases we're not incrementing the `monitors.checkin.result` stat. This is causing a mismatch in one of our SLOs, so adding these extra calls in here.
1 parent 7186c41 commit 92fb5bd

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/sentry/monitors/consumers/monitor_consumer.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,10 @@ def _process_checkin(item: CheckinItem, txn: Transaction | Span) -> None:
479479
}
480480

481481
if check_killswitch(metric_kwargs, project):
482+
metrics.incr(
483+
"monitors.checkin.result",
484+
tags={**metric_kwargs, "status": "organization_killswitch_enabled"},
485+
)
482486
track_outcome(
483487
org_id=project.organization_id,
484488
project_id=project.id,
@@ -494,6 +498,10 @@ def _process_checkin(item: CheckinItem, txn: Transaction | Span) -> None:
494498
raise ProcessingErrorsException([killswitch_error])
495499

496500
if check_ratelimit(metric_kwargs, item):
501+
metrics.incr(
502+
"monitors.checkin.result",
503+
tags={**metric_kwargs, "status": "monitor_environment_ratelimited"},
504+
)
497505
track_outcome(
498506
org_id=project.organization_id,
499507
project_id=project.id,
@@ -514,6 +522,10 @@ def _process_checkin(item: CheckinItem, txn: Transaction | Span) -> None:
514522
)
515523

516524
if quotas_outcome == PermitCheckInStatus.DROP:
525+
metrics.incr(
526+
"monitors.checkin.result",
527+
tags={**metric_kwargs, "status": "monitor_over_quota"},
528+
)
517529
track_outcome(
518530
org_id=project.organization_id,
519531
project_id=project.id,
@@ -536,6 +548,10 @@ def _process_checkin(item: CheckinItem, txn: Transaction | Span) -> None:
536548
)
537549

538550
if guid is None:
551+
metrics.incr(
552+
"monitors.checkin.result",
553+
tags={**metric_kwargs, "status": "checkin_invalid_guid"},
554+
)
539555
track_outcome(
540556
org_id=project.organization_id,
541557
project_id=project.id,
@@ -667,6 +683,10 @@ def _process_checkin(item: CheckinItem, txn: Transaction | Span) -> None:
667683
quotas_outcome == PermitCheckInStatus.ACCEPTED_FOR_UPSERT
668684
and monitor.status == ObjectStatus.DISABLED
669685
):
686+
metrics.incr(
687+
"monitors.checkin.result",
688+
tags={**metric_kwargs, "status": "monitor_disabled_no_quota"},
689+
)
670690
track_outcome(
671691
org_id=project.organization_id,
672692
project_id=project.id,

0 commit comments

Comments
 (0)