The API Analyst is an admin-only console for the SAGRIS data API β check that every service is alive, send test requests, watch live load, and benchmark endpoints. It runs server-side probes, so it can reach the localhost-bound services your browser can't.
| Panel | Use it to⦠|
|---|---|
| Overview | See liveness of every service (ports 5001β5007) and a host snapshot. |
| Endpoint tester | Send a real request to any endpoint and inspect the response. |
| System load | Watch host CPU/memory and per-endpoint activity live. |
| Benchmark | Measure latency and throughput under concurrency. |
Note: The probe runs from the API process itself, which is why it can report on the internal 127.0.0.1 services that aren't exposed to the browser.
A request workbench for the data API. Send a real request to any of the endpoints and inspect the status, latency, payload size, and response body.
/api/health, /api/stats) need no key.X-API-Key header.Paste your key into the data-API key field β it's kept only in this tab's sessionStorage. The key-state indicator shows whether key-gated calls will succeed.
dc.load() (large bbox or long time range).Tip: Use this to reproduce a user's failing call exactly β same path, same body, your key β before digging into logs.
A live view of how hard the API host is working and which endpoints are busy.
CPU, memory, and load average for the API host, refreshed every 4 seconds (toggle auto-refresh 4s off to pause). The note line reports the state of the in-memory request buffer.
Per-endpoint request stats from an in-memory ring buffer shared across workers:
Note: The ring buffer holds only the most recent requests and is lost on restart β it's a live diagnostic, not a historical log. For history, use the Manager's Log Analyst.
dc.load() requests.Fire a batch of requests at a single endpoint with a chosen concurrency, and get p50 / p95 / max latency and throughput β the quickest way to spot dc.load() slowdowns or confirm a fix.
This sends real load to a live service. Default to a light, cached endpoint:
| Endpoint | Why |
|---|---|
/api/stats | Cached β safe and fast. |
/api/health | Trivial β minimal load. |
Heavier data endpoints use your API key and the request body from the tester, so set those up there first. Keep N and concurrency modest on data endpoints to avoid impacting real users.
Tip: Benchmark before and after a change to the same endpoint with the same N/concurrency β the p95 delta tells you whether the change actually helped.