Michael Suchacz
969066b55e
feat(site): improve cost analytics view ( #23069 )
...
Surfaces cache token data in the analytics views and fixes table
spacing.
### Changes
- **Cache token columns**: Added cache read and cache write token counts
to all analytics views (user and admin), from SQL queries through Go SDK
types to the frontend tables and summary cards.
- **Table spacing fix**: Replaced the bare React fragment in
`ChatCostSummaryView` with a `space-y-6` container so the model and chat
breakdown tables no longer overlap.
### Data flow
`chat_messages` table already stores `cache_read_tokens` and
`cache_creation_tokens` (and uses them for cost calculation). This PR
aggregates and displays them alongside input/output tokens in:
- Summary cards (6 cards: Total Cost, Input, Output, Cache Read, Cache
Write, Messages)
- Per-model breakdown table
- Per-chat breakdown table
- Admin per-user table
2026-03-14 01:22:00 -05:00
..
2026-03-10 20:10:08 -05:00
2026-01-21 19:06:19 +00:00
2026-03-13 20:37:41 -07:00
2026-03-02 16:02:01 +01:00
2026-01-08 15:24:11 +04:00
2026-02-24 16:45:56 +00:00
2025-12-15 13:44:44 -09:00
2026-02-06 09:52:17 -07:00
2026-03-13 00:22:55 +11:00
2026-03-13 21:41:24 +02:00
2026-03-03 13:48:58 +00:00
2025-10-16 01:56:43 +11:00
2026-01-08 15:24:11 +04:00
2026-03-14 01:22:00 -05:00
2026-02-19 09:02:19 +00:00
2026-02-03 17:52:07 +00:00
2026-01-29 13:50:15 +01:00
2026-03-13 18:54:07 -04:00
2026-01-08 15:24:11 +04:00
2026-01-08 15:24:11 +04:00
2026-03-13 18:54:07 -04:00
2026-03-13 10:40:57 +00:00
2026-03-13 10:38:39 +00:00
2026-03-09 13:54:31 +01:00
2026-03-05 20:29:49 +00:00
2026-02-23 22:46:17 -06:00
2026-02-23 12:18:44 +01:00
2026-01-08 15:24:11 +04:00
2026-03-05 20:29:49 +00:00
2026-02-23 12:18:44 +01:00
2025-10-15 17:37:37 +00:00
2026-02-19 09:02:19 +00:00
2026-03-05 20:29:49 +00:00
2026-01-30 13:30:06 +01:00
2026-03-13 20:37:41 -07:00
2025-10-23 15:38:49 -05:00
2026-03-06 15:11:05 -08:00
2026-03-09 15:57:55 +00:00
2026-02-19 09:02:19 +00:00
2026-03-11 10:21:47 -04:00
2026-03-13 17:35:26 +00:00
2026-02-24 17:04:42 +00:00
2025-12-14 03:00:03 +00:00
2026-01-08 15:24:11 +04:00
2026-01-08 15:24:11 +04:00
2025-08-22 16:32:35 +10:00
2026-03-06 15:09:58 +01:00
2026-01-08 15:24:11 +04:00
2026-03-10 16:53:28 +00:00
2026-01-08 15:24:11 +04:00
2026-02-27 14:26:48 +00:00
2026-03-13 20:37:41 -07:00
2026-03-12 18:07:52 +02:00
2025-11-17 13:24:12 +00:00
2026-02-25 13:14:32 +02:00
2026-03-07 01:36:03 +00:00
2025-09-26 11:56:34 +02:00
2026-03-06 09:14:11 +00:00
2026-02-24 15:27:03 +00:00
2026-01-08 15:24:11 +04:00
2026-01-08 15:24:11 +04:00
2025-10-27 17:14:16 -06:00
2026-02-27 16:50:56 +00:00
2026-03-14 06:35:46 +01:00
2026-03-14 01:22:00 -05:00
2026-03-09 13:54:31 +01:00
2026-03-13 20:37:41 -07:00
2026-01-08 15:24:11 +04:00
2026-03-13 14:09:39 +00:00
2026-03-13 14:09:39 +00:00
2026-01-12 18:19:19 -08:00
2025-12-15 17:41:47 +00:00
2025-09-04 14:28:29 +10:00
2026-01-08 15:24:11 +04:00
2025-12-15 11:26:41 -06:00
2026-01-26 09:24:45 +00:00
2025-08-19 10:41:33 +02:00
2025-08-19 10:41:33 +02:00
2026-03-04 18:01:56 -08:00
2026-03-04 12:54:39 +02:00
2026-01-08 15:24:11 +04:00
2026-02-03 12:48:25 -06:00
2026-03-13 08:15:37 +11:00
2026-02-13 08:19:07 -06:00
2026-01-08 15:24:11 +04:00
2026-01-15 12:41:28 +03:00
2026-01-15 12:41:28 +03:00
2026-01-15 12:41:28 +03:00
2026-03-06 09:14:11 +00:00
2025-10-22 15:18:42 -05:00
2026-02-03 17:52:07 +00:00
2026-02-02 09:03:18 -06:00
2026-02-03 17:52:07 +00:00
2026-02-19 09:02:19 +00:00
2025-08-21 16:03:34 -04:00
2026-02-03 17:52:07 +00:00
2026-03-03 10:19:00 -05:00
2026-02-03 17:52:07 +00:00
2026-01-12 18:19:19 -08:00
2025-09-26 11:43:32 +02:00
2025-09-26 11:43:32 +02:00
2026-01-08 15:24:11 +04:00
2026-02-13 19:44:50 -05:00
2026-02-13 19:44:50 -05:00
2026-03-03 16:50:18 +00:00
2026-03-03 16:50:18 +00:00
2026-02-20 09:01:00 -06:00
2026-02-20 09:01:00 -06:00
2026-03-11 10:19:08 -07:00
2026-03-11 10:19:08 -07:00
2026-03-03 09:49:04 +00:00
2026-03-03 09:49:04 +00:00
2026-01-12 18:19:19 -08:00
2026-03-06 10:47:55 +01:00
2026-03-09 20:37:05 +00:00
2026-03-10 18:46:01 +00:00
2025-12-22 10:21:39 +04:00
2026-03-12 18:07:52 +02:00
2026-02-18 09:44:06 +01:00
2025-09-26 11:56:34 +02:00
2026-02-03 09:45:23 +00:00
2026-03-13 20:37:41 -07:00
2025-12-15 11:26:41 -06:00
2026-01-08 15:24:11 +04:00
2026-03-13 20:37:41 -07:00
2026-03-13 20:37:41 -07:00
2026-01-08 15:24:11 +04:00