portfolio-emsghin2iq-as.a.run.app · Cloud Run, asia-southeast1
Subscribe to incidentsStatus
The Go server that sent you this page reports on itself: its live state, the latency of its last requests and its SLO, how it ships, the trace of your own visit, how it is watched, and every incident so far.
Checking
checking from your browser…
- answered your browser in
- n/a
- live commit
- n/a
- region
- n/a
- releases
- n/a
- Your browser
- Cloud Run: Go server
- Static site + /api
- /metrics for Prometheus
Latency of the last requests
OfflineThis site's own SLO, measured from outside real data
Objective: 99.9% over 30 days
SLI: the share of Google Cloud uptime checks that get a 2xx from /api/health within 10 s. They run every minute from Singapore, Belgium and Oregon.
How this site ships, measured
DORA metrics, last 30 days, as of 12 Nov, 10:04 UTC
- deploys to production, on 5 of 30 days
- 52
- median lead time, commit to live (72 commits)
- 7.9 min
- change failure rate: 0 of 52 deploys failed their live checks after taking traffic
- 0%
- time to restore: no failed deploy to recover from
- n/a
Before a release reaches you: 0 releases stopped before taking traffic, 0 releases held by the error-budget gate, 0 automatic rollbacks. Last rollback drill, 19 Oct, 12:05 UTC: traffic back on the old revision 17 s after the switch.
30 days agodeploys per day, Singapore timetoday
- 8533f74What this site costs: a live receipt at /costlead 10.5 min · deploy 1.9 min
- 9aacb41Merge pull request #5 from zhenxi0901/dependabot/npm_and_yarn/web/web-4b4c6033e8lead 11.1 min · deploy 1.8 min
- 1147391Old /#work-ai links land on the AI chapterlead 9.8 min · deploy 1.7 min
- 07a8dc0Re-review of the chapter split: 404, focus, chapter marks, live panellead 9.4 min · deploy 1.8 min
- b6c333dSplit the one-page site into chapterslead 10.1 min · deploy 1.7 min
- 7ed7870The on-call drills in the terminal: oncall iot, oncall ailead 8.3 min · deploy 1.8 min
Computed by the pipeline from this repository's commits and deploy runs as of the time above, before it built the image you are looking at. Each release starts with no traffic and is smoke-tested at its own URL first; a deploy counts as failed only if its revision took traffic and then failed the live checks, and a failure there rolls back on its own. Problems that did not come from a deploy are in the postmortems.
Your visit, traced
Measured by your own browser. Nothing is sent anywhere.
How it is watched
- AvailabilityGoogle Cloud uptime checks on /api/health every minute from Singapore, Belgium and Oregon. They are the SLO above.
- Every releaseSmoke-tested at its own URL before it takes traffic, again after, and rolled back on its own if that fails. runs
- Contact messagesCloud Run's logs are searched hourly for any message that could not be delivered, each search picking up where the last one stopped (GitHub sometimes starts scheduled runs late). runs
- Contact form, end to endTwice a day a marked message goes through the live form and the real webhook. runs
- Supply chainOpenSSF Scorecard and CodeQL on every push to main; Dependabot each month. runs
Incident history
3 so far, all resolved
- 1 Oct 2026False alarmResolvedA failing check on a healthy siteThe smoke test reported /metrics as broken while Cloud Run's logs showed every /metrics request returning 200.
- 1 Oct 2026Near missResolved“Message sent” for messages nobody would readFor the site's first 3 h 32 min, the contact form said a message was sent while keeping it on a disk that Cloud Run throws away.
- 1 Oct 2026Near missResolvedThe health check that only worked from insideCloud Run's front end answers some paths ending in “z” itself, so /healthz returned 404 to every outside check while the app was healthy.
Each links to its blameless write-up. Releases, rollbacks and drills are in the changelog.
More on how it runs
- What it costsThis month's usage at list prices, where the money goes, and what caps the bill.
- Break it yourselfInject delays and errors into your own requests and watch retries, a breaker and hedging cope.
- ChangelogEvery release to production and the commits it shipped, written by the pipeline.
- DecisionsWhy it is built this way: 11 architecture decision records and what each one costs.
- EvidenceWhere each number on the site comes from, and which ones you can check yourself.
- For agentsThe site as an MCP server: point your own AI agent at it, or curl it.