Answering right now
Running on Vercel
iad1 · linux/x64 · node v24.18.1 · pid 4 · up 0s
Every value below is marked with the moment it was decided. That is the only reliable way to tell a fresh deploy from a cached copy of the last one.
- Build
- Request
- Browser
Built
10:52:07
2026-08-20 UTC
Frozen into the bundle
This request
15:52:59
2026-08-20 UTC
Produced by the server
Build
Baked in when the bundle was compiled
- Commit
- 4fd55d2
- Branch
- main
- Message
- Add a deployment probe app Turns the starter into a small app whose job is reporting what a deployment actually did. Every value it shows is tagged with when it was decided -- frozen at build, resolved per request, or measured in the browser -- since telling a fresh deploy from a cached copy of the last one is the thing that is usually hard to see. - / reports host, region, build stamp, env vars and inbound headers. Host detection covers Vercel, Netlify, Cloudflare, Render, Railway, Fly, Cloud Run, Lambda, Azure, Heroku, Kubernetes and Docker. Anything key-shaped in the environment is masked before it renders, because this URL is usually public. - /render/{static,isr,dynamic} differ only in one line of segment config, so reloading each one shows what the platform's caching really does. - /data fetches JSONPlaceholder three ways to test the data cache, which is a separate system from the route cache, plus on-demand purging by tag. - /upstreams measures outbound reach, which restricted egress
- Built with
- node v24.19.0
- Snapshot from
- next build
Machine
Read from this process on this request
- Host
- Vercel
- Region
- iad1
- Hostname
- 169.254.82.145
- NODE_ENV
- production
- Port
- 3000 (default)
- Memory
- 84 MB resident of 2279 MB · 2 cpu
- Time zone
- UTC
- target
- production
- url
- deployment-probe-e3jrnq4hh-mohamedkhaled4053s-projects.vercel.app
- deployment
- dpl_8oKHjUT52CYDpKiRua73F7HEVUyn
How each page renders
Open each one, reload a few times, and watch its timestamp. Platforms disagree about caching more than anything else, and this is the fastest way to find out what yours actually did.
Static
Timestamp never moves until you rebuild
Prerendered once at build time and served as a file.
ISR
Timestamp moves at most once every 20 seconds
Cached, then regenerated in the background after it goes stale.
Dynamic
Timestamp moves on every reload
Rendered from scratch for each request.
Caching pages and caching the data inside them are separate systems. The data cache runs the same experiment against a public API.
What reached the app
9 of 11 watched headers
- host
- www.0foq.com
- x-forwarded-for
- 216.73.216.41
- x-forwarded-proto
- https
- x-forwarded-host
- www.0foq.com
- x-real-ip
- 216.73.216.41
- x-vercel-id
- cle1::pzmhq-1787241179064-0835b5f8f623
- x-vercel-ip-country
- US
- accept-encoding
- gzip, br, zstd, deflate
- user-agent
- Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Environment
Anything key-shaped is masked before it renders
- APP_LABEL
- set, but empty
- APP_SECRET_TOKEN
- set, but empty
- AWS_REGION
- us-east-1
- NODE_ENV
- production
- TZ
- :UTC
- VERCEL_BRANCH_URL
- deployment-probe-git-main-mohamedkhaled4053s-projects.vercel.app
- VERCEL_CACHE_HANDLER_MEMORY_CACHE
- 0
- VERCEL_DEPLOYMENT_ID
- dpl_8oKHjUT52CYDpKiRua73F7HEVUyn
- VERCEL_DEPLOYMENT_KEY
- 8LO••••••A=
- VERCEL_ENV
- production
- VERCEL_FLUID
- 1
- VERCEL_GIT_COMMIT_AUTHOR_LOGIN
- moh••••••53
- VERCEL_GIT_COMMIT_AUTHOR_NAME
- moh••••••ed
- VERCEL_GIT_COMMIT_MESSAGE
- Add a deployment probe app Turns the starter into a small app whose job is reporting what a deployment actually did. Every value it shows is tagged with when it was decided -- frozen at build, resolved per request, or measured in the browser -- since telling a fresh deploy from a cached copy of the last one is the thing that is usually hard to see. - / reports host, region, build stamp, env vars and inbound headers. Host detection covers Vercel, Netlify, Cloudflare, Render, Railway, Fly, Cloud Run, Lambda, Azure, Heroku, Kubernetes and Docker. Anything key-shaped in the environment is masked before it renders, because this URL is usually public. - /render/{static,isr,dynamic} differ only in one line of segment config, so reloading each one shows what the platform's caching really does. - /data fetches JSONPlaceholder three ways to test the data cache, which is a separate system from the route cache, plus on-demand purging by tag. - /upstreams measures outbound reach, which restricted egress
- VERCEL_GIT_COMMIT_REF
- main
- VERCEL_GIT_COMMIT_SHA
- 4fd55d24df30e5adb8b65a6babbb57bab28753c2
- VERCEL_GIT_PREVIOUS_SHA
- set, but empty
- VERCEL_GIT_PROVIDER
- github
- VERCEL_GIT_PULL_REQUEST_ID
- set, but empty
- VERCEL_GIT_REPO_ID
- 1340580259
- VERCEL_GIT_REPO_OWNER
- mohamedkhaled4053
- VERCEL_GIT_REPO_SLUG
- deployment-probe
- VERCEL_HANDLER
- /var/task/___next_launcher.cjs
- VERCEL_IPC_PATH
- /tmp/vercel-1524011499.sock
- VERCEL_PARENT_SPAN_ID
- 90a52944b05a942a
- VERCEL_PROJECT_ID
- prj_GqHnhTBdMapBRpERDl4wNF3kukdj
- VERCEL_PROJECT_NAME
- deployment-probe
- VERCEL_PROJECT_PRODUCTION_URL
- deployment-probe-five.vercel.app
- VERCEL_REGION
- iad1
- VERCEL_TARGET_ENV
- production
- VERCEL_URL
- deployment-probe-e3jrnq4hh-mohamedkhaled4053s-projects.vercel.app
- VERCEL_VDC_REMOTE_CACHE_ENABLED
- 1
Endpoints
Timed from your browser, so this includes the network between you and the deployment.
- GET
/api/health—What a load balancer probes
- GET
/api/info—Build and runtime facts as JSON
- GET
/api/echo?region=test&cache=bust—Headers your proxy added on the way in
- POST
/api/echo—Whether POST bodies survive the hop
- GET
/api/upstreams—Server-side egress, on demand