Repository navigation
[Q2-P2] Add synthetic monitoring with continuous SDK health checks #28
Copy link
Copy link
Closed
Labels
priority: mediumShould be fixed eventuallyShould be fixed eventuallyquadrant: q2Important, Not Urgent (Schedule)Important, Not Urgent (Schedule)type: monitoringMonitoring, observability, and alertingMonitoring, observability, and alerting
Description
Activity
- addedpriority: mediumShould be fixed eventuallyShould be fixed eventuallyquadrant: q2Important, Not Urgent (Schedule)Important, Not Urgent (Schedule)type: monitoringMonitoring, observability, and alertingMonitoring, observability, and alerting
on Dec 17, 2025 coderabbitai commented
on Dec 17, 2025 coderabbitaiboton Dec 17, 2025 – with coderabbitaiMore actions📝 CodeRabbit Plan Mode
Generate an implementation plan and prompts that you can use with your favorite coding agent.
- Create Plan
🔗 Similar Issues
Related Issues
- [Q1-P0] Add monitoring and alerting for SDK health metrics #23
- [Q1-P0] Add monitoring and alerting for SDK health metrics #19
👤 Suggested Assignees
🧪 Issue enrichment is currently in open beta.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:issue_enrichment: auto_enrich: enabled: false
💬 Have feedback or questions? Drop into our discord or schedule a call!
- added a commit that references this issue
on Dec 17, 2025 - added a commit that references this issue
on Jul 3, 2026 Completion receipt for PR #74 /
c2f6a882b1aa483815b9191e8c83a1a25a7c224f:- replaced the perpetually failing full integration/stress schedule with an hourly, bounded latest-price + five-record history synthetic
- missing monitor credentials now fail loudly instead of silently skipping
- receipts contain structural assertions and durations but no keys, response values, URLs, bodies, or exception messages
- removed the undeployed/broken Docker-Prometheus example that referenced missing configs and printed part of the key
- local: 401 non-integration tests, 4 synthetic unit tests, keyless production contract, authenticated synthetic, package build, and docs build passed
- main CI: Python 3.8–3.12, Ruff, mypy, storefront validation, unit tests, live API tests, and Pages are green
- first real manual run: https://github.com/OilpriceAPI/python-sdk/actions/runs/30169188492 — completed in 21s; latest 0.462s, history 0.417s, both pass
- 30-day artifact
sdk-health-30169188492exists and expires 2026-08-24 - runbook is live at https://oilpriceapi.github.io/python-sdk/SYNTHETIC_MONITORING/
The schedule is hourly rather than every five minutes: this keeps detection bounded while avoiding roughly 8,640 CI starts/month and unnecessary API quota. Push/PR live checks cover changes between scheduled runs.
Metadata
Metadata
Assignees
Labels
priority: mediumShould be fixed eventuallyShould be fixed eventuallyquadrant: q2Important, Not Urgent (Schedule)Important, Not Urgent (Schedule)type: monitoringMonitoring, observability, and alertingMonitoring, observability, and alerting
Problem
We only test SDK when:
Gap: No continuous validation that SDK works in production
Solution
Add synthetic monitoring that runs realistic SDK queries continuously:
Deploy
Alerts
Acceptance Criteria
Estimated Effort
Time: 4 hours