From 5ca87238b7a77c9dea24eb6501c638e298dff145 Mon Sep 17 00:00:00 2001 From: Mihir-Mavalankar Date: Mon, 23 Mar 2026 15:48:34 -0700 Subject: [PATCH 1/2] perf(seer): Bump context engine scheduler deadline to 30min The schedule_context_engine_indexing_tasks task is consistently exceeding the 15-minute processing deadline due to slow feature flag checks in get_allowed_org_ids_context_engine_indexing. Increase the deadline to 30 minutes to prevent ProcessingDeadlineExceeded errors while we optimize the underlying checks. Also add org IDs to the scheduled log for easier debugging. Co-Authored-By: Claude Opus 4 --- src/sentry/tasks/context_engine_index.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sentry/tasks/context_engine_index.py b/src/sentry/tasks/context_engine_index.py index 29df4bdcbfd2d7..ce4a3386e89ff6 100644 --- a/src/sentry/tasks/context_engine_index.py +++ b/src/sentry/tasks/context_engine_index.py @@ -243,7 +243,7 @@ def get_allowed_org_ids_context_engine_indexing() -> list[int]: @instrumented_task( name="sentry.tasks.context_engine_index.schedule_context_engine_indexing_tasks", namespace=seer_tasks, - processing_deadline_duration=15 * 60, + processing_deadline_duration=30 * 60, ) def schedule_context_engine_indexing_tasks() -> None: """ @@ -272,7 +272,11 @@ def schedule_context_engine_indexing_tasks() -> None: logger.info( "Scheduled context engine indexing tasks", - extra={"total_org_count": len(allowed_org_ids), "dispatched": dispatched}, + extra={ + "orgs": allowed_org_ids[:10], + "total_org_count": len(allowed_org_ids), + "dispatched": dispatched, + }, ) From 60164576a640f33736a5f0161ce87f51b6bb9de9 Mon Sep 17 00:00:00 2001 From: Mihir-Mavalankar Date: Mon, 23 Mar 2026 15:51:54 -0700 Subject: [PATCH 2/2] chore(seer): Enable 100% trace sampling for context engine scheduler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The task was falling through to SENTRY_BACKEND_APM_SAMPLING (0 in prod), so spans added for performance debugging were never captured. Add the task to SAMPLED_TASKS at 1.0 — it only runs once per hour so the volume is negligible. Co-Authored-By: Claude Opus 4 --- src/sentry/utils/sdk.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sentry/utils/sdk.py b/src/sentry/utils/sdk.py index 039e65ae038861..42132f183f39d7 100644 --- a/src/sentry/utils/sdk.py +++ b/src/sentry/utils/sdk.py @@ -79,6 +79,7 @@ "sentry.dynamic_sampling.tasks.recalibrate_orgs": 0.2 * settings.SENTRY_BACKEND_APM_SAMPLING, "sentry.dynamic_sampling.tasks.sliding_window_org": 0.2 * settings.SENTRY_BACKEND_APM_SAMPLING, "sentry.tasks.autofix.configure_seer_for_existing_org": 1.0, + "sentry.tasks.context_engine_index.schedule_context_engine_indexing_tasks": 1.0, } SAMPLED_ROUTES = {