Monitoring
Monitor your Workers in production using Cloudflare's built-in tools and roll back quickly when issues arise.
Wrangler Tail
Stream live logs from any worker:
# Tail production API logs
bun wrangler tail --config apps/api/wrangler.jsonc
# Filter to specific paths
bun wrangler tail --config apps/api/wrangler.jsonc --search-str="/api/trpc"
# Tail staging
bun wrangler tail --config apps/api/wrangler.jsonc --env stagingLogs include request metadata, console.log output, and uncaught exceptions.
Cloudflare Analytics
The Cloudflare dashboard provides per-worker metrics:
- Workers → Analytics – request count, error rate, CPU time, duration percentiles
- Workers → Logs – real-time and historical log streams
- Set up notification policies for error rate spikes or latency increases
Rollback
If a deploy introduces issues, roll back to the previous version:
# List recent deployments
bun wrangler deployments list --config apps/api/wrangler.jsonc --env=""
# Roll back to the previous stable version
bun wrangler rollback --config apps/api/wrangler.jsonc \
--env="" \
--message="Reverting due to auth regression"Repeat for each affected worker (apps/app/, apps/web/).
WARNING
Wrangler rollback reverts worker code but not database migrations. If a deploy included schema changes that the previous code depends on differently, you may need to deploy a fix-forward migration instead. See Database: Migrations.
Troubleshooting
Worker size limit – Cloudflare Workers have a 10 MB compressed size limit (3 MB on the free plan). If you hit it:
- Check for accidentally bundled dependencies
- Move large assets to R2 storage
- Ensure tree shaking is working (check for side-effect imports)
Database connection issues – If queries fail or time out:
- Verify Hyperdrive IDs in
wrangler.jsoncmatch Terraform output - Check Neon dashboard for connection limit exhaustion
- Confirm the database isn't in auto-suspended state (first request after suspend is slower)
Authentication problems – If sign-in fails in production:
- Verify
BETTER_AUTH_SECRETis set (bun wrangler secret list --config apps/api/wrangler.jsonc --env="") - Check
APP_ORIGINmatches your actual domain (affects cookie domain) - Confirm OAuth redirect URIs include your production URL. See Social Providers
Cost Monitoring
Pricing and included quotas change. Use the current Workers, Hyperdrive, Neon, and Resend pages when budgeting, and monitor usage in each provider dashboard.