ld
How it works

Request logging

What llama-dash records per request, and the privacy and retention model.

Every completed proxy exchange is logged as one row in SQLite. The log powers the Requests page, per-model and per-key breakdowns, and the dashboard's live counters.

Logged on completion

A row is written when an exchange finishes (or the client disconnects), never on start. The write queue is bounded — if it fills under heavy traffic, dropping logs is preferred over blocking proxy traffic.

What's captured

  • Per-call metadata: model, status, latency, token counts, estimated cost.
  • Routing and attribution context: the matched routing rule, action, and auth mode, plus client, end-user, and session metadata (see Attribution).
  • Row classification: inference or mcp_relay. Successful MCP relay rows are metadata-only by default; relay failures keep bounded body/header snippets for debugging.

Privacy

By default, llama-dash persists request and response body snippets for inference requests, truncated at 32 KiB, and clears stored body/header text after 3 days. Successful MCP relay calls do not persist body snippets by default; relay errors keep bounded snippets for investigation.

You can change this on the Settings page:

  • Disable request-body persistence.
  • Disable response-body persistence.
  • Enable or disable successful MCP relay body persistence.
  • Set max stored body bytes from 0 to 1 MiB.

Prompts and responses can contain sensitive data. Set max stored body bytes to 0, or disable request/response body capture, if request detail should keep metadata only.

Retention

An hourly job prunes old rows — old inference rows, short-lived successful relay rows, longer-lived relay failures, and stale body/header text — to keep the SQLite file bounded. The Settings page also exposes immediate prune and SQLite compaction actions. See Log retention.

Last updated on

On this page