A3S Docs
A3S Power

Observability

Prometheus metrics, health endpoint, and audit logging

Observability

Health Endpoint

GET /health — returns server status, TEE state, and loaded model count.

curl http://localhost:11434/health
{
  "status": "ok",
  "version": "0.2.0",
  "uptime_seconds": 3600,
  "loaded_models": 2,
  "tee": {
    "enabled": true,
    "type": "sev-snp",
    "models_verified": true
  }
}

Prometheus Metrics

GET /metrics — returns metrics in Prometheus text format.

curl http://localhost:11434/metrics

Request Metrics

Prop

Type

Inference Metrics

Prop

Type

Model Metrics

Prop

Type

GPU Metrics

Prop

Type

TEE Metrics

Prop

Type

Prometheus Scrape Config

scrape_configs:
  - job_name: a3s-power
    static_configs:
      - targets: ["localhost:11434"]
    metrics_path: /metrics

Audit Logging

Power writes structured audit logs in JSONL format. Each inference request is logged with timing, model name, token counts (optionally rounded), and request ID — but never with prompt or response content when redact_logs = true.

Audit logs are flushed on graceful shutdown (SIGTERM / Ctrl-C) before the process exits.

Logging

Power uses tracing with tracing-subscriber. Set log level via RUST_LOG:

RUST_LOG=info a3s-power serve
RUST_LOG=debug a3s-power serve
RUST_LOG=a3s_power=debug,tower_http=info a3s-power serve

When redact_logs = true, all inference content is stripped from log output regardless of log level.

On this page