One row per person, from the users table. Sessions counts
the conversations their questions were grouped into; the count links through
to them. (unattributed) collects questions with no
user_id: fail-soft writes, and history migration 013 could not
match to a person. Those questions never get a session either, so that row
always reads zero — they are listed from the Sessions tab instead.
| User | Identity | Sessions | Questions | Cost | Cost / question | Unpriced | Success | Feedback | Last seen |
|---|---|---|---|---|---|---|---|---|---|
|
gerty.bester@dext.com
Gerty Bester
|
4 | 8 | $554.8367 | $69.3546 | 0 | 100.0% | — | 2026-09-30 09:50 |
Cost is the LLM completion spend LiteLLM priced for each call, summed per
request.
Chandler is running on the Codex CLI, which draws ChatGPT plan quota
rather than per-token API billing, so this figure is not money paid —
it is what the same traffic would have cost on the API, priced from the
token counts Codex reports. Read it as the size of the bill avoided.
Two known limits: embedding spend is not recorded, so
retrieval and matching cost is missing, and because the figure is one sum
per request it cannot be split by model within a request — a
request's classifier and agent calls can use different models while
llm_model holds only one name.
Only authenticated calls are logged, USAGE_LOG_ENABLED can
switch logging off, and log writes are fail-soft — this is not a complete
record of traffic. Questions are grouped into sessions: a session is
exact when the caller echoed its id back to us and otherwise inferred from
a 30-minute gap in that user’s activity, so a grouping is only as
good as the source shown on the session itself. A call with no
attributable user gets no session at all; those questions are listed
separately rather than dropped.