通过 OpenRouter 发出一次 API 请求,然后查询 ClickHouse 表以确认已收到该追踪。
查询示例
按模型分析费用
Copy
SELECT toDate(TIMESTAMP) as day, MODEL, sum(TOTAL_COST) as total_cost, sum(TOTAL_TOKENS) as total_tokens, count() as request_countFROM OPENROUTER_TRACESWHERE TIMESTAMP >= now() - INTERVAL 30 DAY AND STATUS = 'ok' AND SPAN_TYPE = 'GENERATION'GROUP BY day, MODELORDER BY day DESC, total_cost DESC;
用户活动分析
Copy
SELECT USER_ID, uniqExact(TRACE_ID) as trace_count, uniqExact(SESSION_ID) as session_count, sum(TOTAL_TOKENS) as total_tokens, sum(TOTAL_COST) as total_cost, avg(DURATION_MS) as avg_duration_msFROM OPENROUTER_TRACESWHERE TIMESTAMP >= now() - INTERVAL 7 DAY AND SPAN_TYPE = 'GENERATION'GROUP BY USER_IDORDER BY total_cost DESC;
错误分析
Copy
SELECT TRACE_ID, TIMESTAMP, MODEL, LEVEL, FINISH_REASON, METADATA, INPUT, OUTPUTFROM OPENROUTER_TRACESWHERE STATUS = 'error' AND TIMESTAMP >= now() - INTERVAL 1 HOURORDER BY TIMESTAMP DESC;
模型服务提供商性能对比
Copy
SELECT PROVIDER_NAME, MODEL, avg(DURATION_MS) as avg_duration_ms, quantile(0.5)(DURATION_MS) as p50_duration_ms, quantile(0.95)(DURATION_MS) as p95_duration_ms, count() as request_countFROM OPENROUTER_TRACESWHERE TIMESTAMP >= now() - INTERVAL 7 DAY AND STATUS = 'ok' AND SPAN_TYPE = 'GENERATION'GROUP BY PROVIDER_NAME, MODELHAVING request_count >= 10ORDER BY avg_duration_ms;
按 API 密钥统计用量
Copy
SELECT API_KEY_NAME, uniqExact(TRACE_ID) as trace_count, sum(TOTAL_COST) as total_cost, sum(PROMPT_TOKENS) as prompt_tokens, sum(COMPLETION_TOKENS) as completion_tokensFROM OPENROUTER_TRACESWHERE TIMESTAMP >= now() - INTERVAL 30 DAY AND SPAN_TYPE = 'GENERATION'GROUP BY API_KEY_NAMEORDER BY total_cost DESC;