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 |
|---|---|---|---|---|---|---|---|---|---|
|
chris.scott@dext.com
Chris Scott
|
5 | 15 | $276.1269 | $18.4085 | 0 | 100.0% | — | 2026-09-24 18:33 | |
|
suzannah.weinfass@dext.com
Suzannah Weinfass
|
3 | 10 | $165.7467 | $16.5747 | 0 | 80.0% | Negative | 2026-09-28 14:31 | |
|
yordan@dext.com
Yordan Todorov Ivanov
|
8 | 20 | $131.9301 | $6.5965 | 0 | 100.0% | — | 2026-09-18 10:54 | |
|
gerty.bester@dext.com
Gerty Bester
|
1 | 1 | $19.0560 | $19.0560 | 0 | 100.0% | — | 2026-09-23 17:17 | |
|
oliver.paterson@dext.com
Oliver Paterson
|
1 | 1 | $1.6014 | $1.6014 | 0 | 100.0% | — | 2026-09-11 14:12 |
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.