Download internal/db/sql/stats.sql from SaylorTwift/crush: direct link, hf CLI and curl.
- Browser
- Download file 2.81 kB
-
https://huggingface.co/SaylorTwift/crush/resolve/main/internal/db/sql/stats.sql
- Command line
-
hf download hf://SaylorTwift/crush/internal/db/sql/stats.sql
-
curl -L -o stats.sql https://huggingface.co/SaylorTwift/crush/resolve/main/internal/db/sql/stats.sql
2.81 kB
| -- name: GetUsageByDay :many | |
| SELECT | |
| date(created_at, 'unixepoch') as day, | |
| SUM(prompt_tokens) as prompt_tokens, | |
| SUM(completion_tokens) as completion_tokens, | |
| SUM(cost) as cost, | |
| COUNT(*) as session_count | |
| FROM sessions | |
| WHERE parent_session_id IS NULL | |
| GROUP BY date(created_at, 'unixepoch') | |
| ORDER BY day DESC; | |
| -- name: GetUsageByModel :many | |
| SELECT | |
| COALESCE(model, 'unknown') as model, | |
| COALESCE(provider, 'unknown') as provider, | |
| COUNT(*) as message_count | |
| FROM messages | |
| WHERE role = 'assistant' | |
| GROUP BY model, provider | |
| ORDER BY message_count DESC; | |
| -- name: GetUsageByHour :many | |
| SELECT | |
| CAST(strftime('%H', created_at, 'unixepoch') AS INTEGER) as hour, | |
| COUNT(*) as session_count | |
| FROM sessions | |
| WHERE parent_session_id IS NULL | |
| GROUP BY hour | |
| ORDER BY hour; | |
| -- name: GetUsageByDayOfWeek :many | |
| SELECT | |
| CAST(strftime('%w', created_at, 'unixepoch') AS INTEGER) as day_of_week, | |
| COUNT(*) as session_count, | |
| SUM(prompt_tokens) as prompt_tokens, | |
| SUM(completion_tokens) as completion_tokens | |
| FROM sessions | |
| WHERE parent_session_id IS NULL | |
| GROUP BY day_of_week | |
| ORDER BY day_of_week; | |
| -- name: GetTotalStats :one | |
| SELECT | |
| COUNT(*) as total_sessions, | |
| COALESCE(SUM(prompt_tokens), 0) as total_prompt_tokens, | |
| COALESCE(SUM(completion_tokens), 0) as total_completion_tokens, | |
| COALESCE(SUM(cost), 0) as total_cost, | |
| COALESCE(SUM(message_count), 0) as total_messages, | |
| COALESCE(AVG(prompt_tokens + completion_tokens), 0) as avg_tokens_per_session, | |
| COALESCE(AVG(message_count), 0) as avg_messages_per_session | |
| FROM sessions | |
| WHERE parent_session_id IS NULL; | |
| -- name: GetRecentActivity :many | |
| SELECT | |
| date(created_at, 'unixepoch') as day, | |
| COUNT(*) as session_count, | |
| SUM(prompt_tokens + completion_tokens) as total_tokens, | |
| SUM(cost) as cost | |
| FROM sessions | |
| WHERE parent_session_id IS NULL | |
| AND created_at >= strftime('%s', 'now', '-30 days') | |
| GROUP BY date(created_at, 'unixepoch') | |
| ORDER BY day ASC; | |
| -- name: GetAverageResponseTime :one | |
| SELECT | |
| CAST(COALESCE(AVG(finished_at - created_at), 0) AS INTEGER) as avg_response_seconds | |
| FROM messages | |
| WHERE role = 'assistant' | |
| AND finished_at IS NOT NULL | |
| AND finished_at > created_at; | |
| -- name: GetToolUsage :many | |
| SELECT | |
| json_extract(value, '$.data.name') as tool_name, | |
| COUNT(*) as call_count | |
| FROM messages, json_each(parts) | |
| WHERE json_extract(value, '$.type') = 'tool_call' | |
| AND json_extract(value, '$.data.name') IS NOT NULL | |
| GROUP BY tool_name | |
| ORDER BY call_count DESC; | |
| -- name: GetHourDayHeatmap :many | |
| SELECT | |
| CAST(strftime('%w', created_at, 'unixepoch') AS INTEGER) as day_of_week, | |
| CAST(strftime('%H', created_at, 'unixepoch') AS INTEGER) as hour, | |
| COUNT(*) as session_count | |
| FROM sessions | |
| WHERE parent_session_id IS NULL | |
| GROUP BY day_of_week, hour | |
| ORDER BY day_of_week, hour; | |