Scaling Cron Monitoring
Blog post from Sentry
Over the past year, Sentry has developed its Cron Monitoring feature from a small prototype into a robust component of its Error, Performance, and Reliability monitoring tools, currently in late-stage beta with over 7 million daily check-ins. This feature allows users to validate and receive alerts about the operational status of scheduled jobs, using a check-in system that identifies missed, timed-out, or errored tasks. Initially, check-in ingestion was managed via API endpoints in Sentry's Django application, but the need for scalability and reliability led to the integration of Relay, Sentry's distributed ingestion infrastructure, which supports improved availability and rapid implementation across SDKs. The architecture now utilizes Kafka to maintain a backlog of check-ins and scale processing as needed. To reliably detect missing check-ins, Sentry transitioned from a once-per-minute task in the Celery beat scheduler, which was prone to issues during deployments and message backlogs, to a consumer-driven clock system using stream time. This ensures tasks are dispatched only after all check-ins are processed up to a minute boundary, eliminating false positives in missed check-ins. Synchronizing the clock across multiple Kafka partitions allows for accurate detection and avoids discrepancies due to asynchronous consumer speeds. As the Crons feature continues to expand, Sentry aims to enhance reliability further and address subtle edge cases such as timezone bugs and SDK limitations.
No tracked trend matches for this post yet.
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.