Give every API value with a unit as a number (closes #199)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A value with a unit is now a number, and its field name ends in the unit, as the vendored API_POLICIES.md requires. @meta.execution_time becomes execution_time_ms. In the stats answers, uptime, connection_duration, memory_usage and whois_stats.current_interval become uptime_seconds, connection_duration_seconds, memory_usage_bytes and whois_stats.current_interval_seconds. connection_duration_seconds is null while the feed is not connected. The status page formats the numbers itself. REPO_POLICIES.md is re-vendored from the same sneak/prompts commit. Model: opus-5-5
This commit was merged in pull request #207.
This commit is contained in:
@@ -113,7 +113,13 @@ one of its peers sends an update.
|
||||
figures. The route figures come from the routing table. `oldest_route` and
|
||||
`newest_route` are the times of the oldest and the newest kept routes.
|
||||
`origins_without_kept_route` counts, across all prefixes, the origin ASes that
|
||||
have no kept route.
|
||||
have no kept route. Other figures include these:
|
||||
- `uptime_seconds`: the number of seconds since the RIS Live feed last
|
||||
connected, or 0 when it has never connected
|
||||
- `memory_usage_bytes`: the size of the Go heap in use, in bytes
|
||||
- `whois_stats.current_interval_seconds`: the WHOIS fetcher's wait between
|
||||
two fetches, in seconds, which can include a fraction of a second
|
||||
|
||||
- `GET /.well-known/healthcheck.json` - Health check (JSON): 200 when the
|
||||
database answers and the RIS Live feed is connected, otherwise 503;
|
||||
`data.status` is `ok` or `error` and `data.checks` says which check failed
|
||||
@@ -136,9 +142,10 @@ one of its peers sends an update.
|
||||
### API v1
|
||||
|
||||
- `GET /api/v1/stats` - The `/status.json` figures plus connection, garbage
|
||||
collector, stream and handler queue statistics. `stream.route_churn_per_min`
|
||||
is the number of prefix announcements and withdrawals, from all peers, in the
|
||||
last full clock minute.
|
||||
collector, stream and handler queue statistics. `connection_duration_seconds`
|
||||
is the number of seconds the RIS Live feed has been connected, or null while
|
||||
it is not connected. `stream.route_churn_per_min` is the number of prefix
|
||||
announcements and withdrawals, from all peers, in the last full clock minute.
|
||||
- `GET /api/v1/ip/{ip}` - Looks up each address. `{ip}` is an IP address, a host
|
||||
name, or a comma-separated list of at most 10 of these. `results` has one
|
||||
entry for each address. Every entry has the same fields:
|
||||
@@ -207,10 +214,16 @@ one of its peers sends an update.
|
||||
missing, empty or only spaces answers 400.
|
||||
|
||||
A JSON answer is `{"status": "ok", "data": ...}`, or for an error
|
||||
`{"status": "error", "error": {"msg": ..., "code": ...}}`, and carries an
|
||||
`@meta` object with the time zone, the API version and the time the request
|
||||
took. The health check is the exception: its 503 answer is also
|
||||
`{"status": "ok", "data": ...}`, with `error` in `data.status`.
|
||||
`{"status": "error", "error": {"msg": ..., "code": ...}}`. The health check is
|
||||
the exception: its 503 answer is also `{"status": "ok", "data": ...}`, with
|
||||
`error` in `data.status`. Every JSON answer also carries an `@meta` object:
|
||||
|
||||
- `time_zone`: always `UTC`
|
||||
- `api_version`: `1`
|
||||
- `execution_time_ms`: the number of milliseconds the request took
|
||||
|
||||
Every value with a unit is a number whose field name ends in the unit, such as
|
||||
`_ms`, `_seconds` or `_bytes`.
|
||||
|
||||
A request that runs past its time limit answers 504: the limit is 30 seconds,
|
||||
and 4 seconds for the database reads behind `/status.json` and `/api/v1/stats`.
|
||||
|
||||
Reference in New Issue
Block a user