Monitor a running service#
conda-presto exposes readiness and capability endpoints. A broker-managed deployment also exposes process state, events, and logs through conda-broker.
There is currently no Prometheus endpoint or cache administration API.
Check readiness#
Use /health for an HTTP server:
export CONDA_PRESTO_URL=http://127.0.0.1:8000
curl --fail --silent --show-error "$CONDA_PRESTO_URL/health"
In persistent-worker mode, HTTP 200 means that the worker is ready to solve. HTTP 503 means it has stopped or is being replaced. Without persistent-worker mode, the endpoint reports ready whenever the application is running.
Check Docker health#
The server image uses /health for its built-in container health check:
docker inspect \
--format '{{json .State.Health}}' \
conda-presto \
| jq
Read application output with:
docker logs --follow conda-presto
Check broker state#
Use the human-readable status for interactive diagnosis:
conda broker status conda-presto.server
Use JSON in scripts:
conda broker status conda-presto.server --json \
| jq '.services[0] | {running, ready, health, restart_count, endpoints}'
Follow broker lifecycle events separately from service output:
conda broker events --follow
conda broker logs conda-presto.server --follow
Use --previous to inspect output retained from the previous service process:
conda broker logs conda-presto.server --previous --lines 200
Check the deployed capabilities#
Use the read-only discovery endpoints to identify what the process has loaded:
curl --fail --silent --show-error "$CONDA_PRESTO_URL/version" | jq
curl --fail --silent --show-error "$CONDA_PRESTO_URL/formats" | jq
curl --fail --silent --show-error "$CONDA_PRESTO_URL/platforms" | jq
curl --fail --silent --show-error \
"$CONDA_PRESTO_URL/openapi.json" \
| jq '.paths | keys'
The private /solver/v1 route is intentionally absent from OpenAPI.
Interpret solver refresh logs#
The broker child logs one summary after every completed refresh cycle. The summary includes these cumulative, process-local counters:
Field |
Meaning |
|---|---|
|
Eligible records selected for this cycle |
|
Foreground requests recorded since process start |
|
Cycles started since process start |
|
Selected entries that did not need a new result |
|
Background solves attempted |
|
Results successfully made current |
|
Work not started or continued because foreground work arrived |
|
Inspection, worker startup, or solve timeouts |
|
Metadata, worker, solve, or cleanup failures |
|
Results not accepted by persistent or freshness checks |
Counters reset when the service process restarts. Logs do not include recorded request bodies. The private solver route is excluded from normal request logs.
Know the current limits#
conda-presto does not currently expose:
Prometheus or OpenMetrics data
a per-request solver cache hit header
a recorded-request listing endpoint
a cache clear or refresh endpoint
private solver requests in access logs
Use timing only as a performance measurement, not as proof that a particular request hit the final-state cache. See Performance for the costs that remain on a cache hit and Troubleshoot conda-presto for symptom-based checks. See Observability reference for the exact endpoint, log, and counter contracts.