Cuckoo vs Sentry Crons
Checked
Sentry Crons is the cron monitoring part of Sentry. It tracks "the uptime and performance of any scheduled,
recurring job" [1]. Jobs report in_progress, ok and error check-ins through the Sentry SDKs, the CLI or a
plain HTTP endpoint, and a check-in can upsert the monitor with a schedule, a check-in margin, a maximum runtime
and a time zone [2]. Every Sentry plan includes one cron monitor; extra monitors cost $0.78 each per month and can
only be bought from a pay-as-you-go (PAYG) budget [3][4].
Cuckoo is a standalone cron and heartbeat monitor that accepts Sentry SDK cron check-ins. Set your
SDK's DSN to the Cuckoo DSN (https://PUBLIC_KEY@cuckoo.metastic.ch/PROJECT_ID) and your existing
monitor decorators, withMonitor() calls or captureCheckIn() calls report to Cuckoo. Monitors are matched
by slug and created or updated from monitor_config. Jobs without the SDK use plain ping URLs
(https://cuckoo.metastic.ch/ping/YOUR-UUID). Plans: Free (20 checks), Team CHF 12/month
(200 checks), Business CHF 39/month (1,000 checks).
Prices and features were checked on 2026-11-05 on Sentry's public pricing page and documentation, and may have changed since. Cuckoo's prices are its list prices on that date (CHF, VAT may apply). Sentry is a trademark of Functional Software, Inc. Cuckoo is not affiliated with, endorsed by or sponsored by Sentry.
At a glance
| Cuckoo | Sentry Crons | |
|---|---|---|
| Included monitors | Free: 20 | 1 cron monitor on every plan, incl. the free Developer plan [3][4] |
| Extra monitors | Flat plans: Team CHF 12/month (200), Business CHF 39/month (1,000) | $0.78 per monitor per month, from PAYG budget only [3][4] |
| Base plan | Not needed | Team $29/month ($26 annual), Business $89/month ($80 annual) [3] |
| Check-in statuses | start, success, fail, exit code | in_progress, ok, error [2] |
| Schedules | Period + grace, or cron + time zone + grace | crontab or interval schedule, checkin_margin, timezone [2] |
| Max runtime | Yes | max_runtime, up to 10,080 minutes [2] |
| Failure / recovery thresholds | No | failure_issue_threshold, recovery_threshold [2] |
| Sentry SDK support | Cron check-ins only (DSN-based) | Native, the protocol owner |
| Plain HTTP ping | /ping/YOUR-UUID with /start, /fail, exit code |
HTTP check-in endpoint with ?status= [2] |
| Errors, tracing, replays | No (check-ins only, other events dropped) | Yes, full Sentry platform |
| Alerts | Email, Slack, Discord, signed webhooks | Sentry issues and alert rules |
| Operator / hosting | metikular GmbH, Switzerland; EU hosting | Functional Software, Inc. |
Cost for an example setup
List prices only, before taxes, not converted between USD and CHF. Sentry figures use $0.78 per additional monitor per month, with one monitor included [3][4].
| Setup | Sentry Crons (cron part only) | Cuckoo |
|---|---|---|
| 10 cron monitors | 9 × $0.78 = $7.02/month, on top of a Sentry plan with PAYG budget | Free plan |
| 30 cron monitors | 29 × $0.78 = $22.62/month, on top of the plan | Team CHF 12/month (up to 200) |
| 100 cron monitors | 99 × $0.78 = $77.22/month, on top of the plan | Team CHF 12/month (up to 200) |
If you already pay for Sentry Team or Business for error tracking, the base plan is a sunk cost and only the per-monitor charge matters. Sentry's docs don't say on the pricing page how monitors are counted per environment; see its quota management page [4].
Key differences
Same SDK, different backend
Because Cuckoo speaks the Sentry check-in format, the migration is a DSN change, not a rewrite. The catch: a Sentry SDK has one DSN per client. If the same process also reports errors to Sentry, sending everything to Cuckoo would drop those errors (Cuckoo only stores check-ins). The clean options are a separate process or job runner that uses the Cuckoo DSN, or plain HTTP pings for the jobs while errors stay on Sentry.
Integrated vs focused
Sentry's strength is context: a failed cron check-in sits next to the error, the trace and the release that caused it [1]. Cuckoo has none of that. It only answers "did the job run, on time, successfully?" If you rely on that cross-linking, Sentry Crons is the better tool.
Pricing
Sentry Crons is cheap per monitor ($0.78) [3], but it needs a PAYG budget for anything beyond the one included monitor [4]. Cuckoo's Free plan covers 20 monitors without a credit card, and paid plans are flat (Team CHF 12/month for 200).
Monitor options
Sentry exposes failure and recovery thresholds (alert only after N consecutive failures) [2]. Cuckoo supports grace times and max runtime, but not consecutive-failure thresholds.
When to choose Sentry Crons instead
- You already use Sentry for errors and want cron failures linked to errors, traces and releases [1].
- You need consecutive-failure or recovery thresholds [2].
- You have few monitors and already pay for a Sentry plan with a PAYG budget [3][4].
When Cuckoo fits better
- You want cron monitoring without a Sentry subscription or PAYG budget.
- Your jobs already use Sentry's cron instrumentation and you want to move them by changing the DSN.
- You also have shell, systemd or CI jobs that are easier to monitor with a one-line
curlping.
FAQ
Can I keep using the Sentry SDK with Cuckoo?
Yes, for cron check-ins. Set the DSN to your Cuckoo DSN and keep the monitor_slug and monitor_config you
already use. Cuckoo creates or updates the monitor from monitor_config. Error events sent to that DSN are dropped.
What happens to my Sentry errors if I switch the DSN?
They would no longer reach Sentry, because an SDK client sends everything to one DSN. Keep errors on your Sentry DSN and send check-ins to Cuckoo from a separate process, or use Cuckoo's HTTP ping URLs from the job itself.
How much does Sentry Crons cost?
Every Sentry plan includes one cron monitor. Each additional monitor costs $0.78 per month and is paid from the pay-as-you-go budget [3][4]. Sentry Team starts at $26/month billed annually or $29/month billed monthly [3].
Does Cuckoo support Sentry's HTTP check-in endpoint?
Cuckoo accepts the SDK envelope format. For plain HTTP, use Cuckoo's own ping URL
(/ping/YOUR-UUID, /start, /fail, exit code), which is simpler than building check-in requests by hand.
Sources
- Sentry Crons product documentation, https://docs.sentry.io/product/crons/ (checked 2026-11-05)
- Sentry Crons HTTP check-ins and monitor_config, https://docs.sentry.io/product/crons/getting-started/http/ (checked 2026-11-05)
- Sentry pricing page, https://sentry.io/pricing/ (checked 2026-11-05)
- Sentry pricing and billing documentation, https://docs.sentry.io/pricing/ (checked 2026-11-05)