Skip to main content

Observability

Denia surfaces real runtime state straight from the kernel — no metrics sidecar (ADR-009). Everything below is also rendered in the web console.

Service logs

# recent lines
curl -fsS -H "Authorization: Bearer $TOKEN" \
https://your-node.example.com/v1/services/$SID/logs

# live tail (Server-Sent Events; bounded concurrent streams)
curl -fsS -H "Authorization: Bearer $TOKEN" \
https://your-node.example.com/v1/services/$SID/logs/stream

Logs are keyed by service id.

Service metrics

curl -fsS -H "Authorization: Bearer $TOKEN" \
https://your-node.example.com/v1/services/$SID/metrics

CPU and memory come from the replica's cgroup v2 controllers, plus process stats from procfs.

Node metrics

curl -fsS -H "Authorization: Bearer $TOKEN" \
https://your-node.example.com/v1/node

Reports host-level state and exposes the configured control_domain; disk usage comes from statvfs on DENIA_NODE_DISK_PATH.

Access log

The ingress records a per-request entry; recent requests for a service are at:

curl -fsS -H "Authorization: Bearer $TOKEN" \
https://your-node.example.com/v1/services/$SID/requests

Deploy logs

Each deployment has its own streamed build + deploy log (GET /v1/deployments/{id}/logs/stream, ADR-024); denia push tails it for you.