LLM 可观测:一次 请求 一条 Trace
Router One 在控制台 → 日志(请求日志)中记录模型调用用量。按模型、API Key、状态和日期筛选后,打开一条记录即可查看请求 ID、发起请求的 Key、Token、总耗时(产生过输出的流式请求另有首字延迟)、状态和脱敏错误。流式响应需要单独检查结束事件,费用以记录的结算结果为准;支持团队可以通过请求 ID 关联内部路由尝试。
一条请求日志能检查哪些信息?
| 信号 | Router One Trace | 如何解读 |
|---|---|---|
| 请求 ID 与模型 | 打开详情复制 requestId,并查看记录的模型 | 用请求 ID 关联应用日志中的同一次调用 |
| 输入 / 输出 Token | 已记录的输入、输出数量,以及可用的缓存读取 Token | Token 用量不等于客户端已收到完整回答 |
| 每请求成本 | 已结算的实际 totalCost;待结算表示最终金额未知 | 已结算总额已包含适用的计价倍率,不要再乘一次 |
| 延迟 | 每条请求记录都有总耗时,产生过输出的流式请求另有首字延迟(TTFT);总耗时缺失时显示为横线 | 两者都从网关开始执行请求时起算,首字延迟包含故障转移前失败尝试的耗时;与客户端首个可见 Token 的差值来自你的网络、客户端和网关接收请求的环节 |
| 路由排查 | 通过请求 ID 交给支持团队关联排查 | 请求日志不显示供应商名称或中间尝试链 |
| 状态码与错误 | 状态码,以及有记录时的脱敏错误文本 | 仅凭 HTTP 200 不能确认流式回答成功完成 |
| 花费上限 | 按 Key 的 maxSpend 能拦住失控循环 | 应用自身也应设置循环上限 |
去哪里看
控制台 → 日志
按模型、API Key、状态和日期筛选,打开对应记录查看请求 ID、用量、状态和结算详情;API Key 列与请求详情会标出发起请求的 Key(网页端调用单独标注)。日志(按当前筛选)与钱包流水(所选时间段)可导出 CSV。仍在等待定价的记录可能暂未出现在列表里;如需细分到终端客户或单次运行,请在自己的应用日志中保留标签和请求 ID。
控制台 → 用量
查看请求量、Token 和花费趋势,以及按模型和能力类型拆分的汇总数据;还可按 API Key 查看所选时间段的花费、Token 和请求数,并跳转到该 Key 的日志。单次请求的实际费用和可用折扣详情请到日志中查看。
预算与默认限流
每个 API Key 自带 maxSpend;它的 rateLimit 和 tokenLimitTpm 按平台默认值执行,可申请调高。失控循环会先撞上自己的上限而停下,而不是把整个余额耗尽——无需治理套件即可管控花费。
示例:一条等待结算的流式请求
使用请求日志字段名的合成片段,数值仅供说明,不是真实生产记录或报价。若记录标为待结算,则最终费用尚未知;等待定价的记录也可能暂未出现在列表里。
{
"requestId": "demo_req_7f3a",
"model": "example-chat-model",
"inputTokens": 512,
"outputTokens": 200,
"firstTokenLatencyMs": 640,
"latencyMs": 1180,
"statusCode": 200,
"totalCost": null,
"billingPricing": {
"status": "pending"
}
}请求数据处理
客户侧 Trace 包含用于调试和核对费用的请求元数据。Router One 不留存直接 API 调用的 prompt 和模型回复正文,仅记录用于计费、用量统计与故障排查的请求元数据。Playground 会保存会话历史,方便用户回看和继续对话。
查看数据留存政策常见问题
HTTP 200 代表流式回答成功了吗?
不一定。HTTP 200 可能只是流已打开,生成随后仍可能失败或不完整。Chat Completions 要看 finish_reason 和流内错误,stop、length、tool_calls 含义不同;Responses 要检查 response.completed、response.failed 或 response.incomplete。连接关闭或控制台的成功标签都不足以单独证明回答完成。
“待结算”是不是这次请求免费?
不是。待结算表示最终费用未知,界面不会用 0 元或未折扣的 Token 费用小计替代。请稍后重新查看;已结算总额已包含适用折扣。显示的默认或模型专属折扣、套餐倍率、实际倍率用于解释该总额,不是让你再打一次折。
请求慢或失败时应该收集哪些排查证据?
保留请求 ID、带时区的时间戳、端点、精确模型 ID、SDK 版本、超时设置、HTTP 状态,以及最终错误或结束原因。记录客户端首个可见 Token 何时到达、是否主动取消,再与日志中的首字延迟(TTFT)对照:两者之差来自你的网络、客户端和网关接收请求的环节;首字延迟本身就长,则指向排队、故障转移前的失败尝试或模型本身的等待。比较多次相同模型、端点及相近提示长度的调用,单个耗时不足以归因;分享前移除 API Key 和敏感输入输出。
一条 Trace 里到底有什么?
请求日志展示记录的模型、请求 ID、发起请求的 API Key、输入 / 输出 Token、可用的缓存读取 Token、已结算费用或待结算标签、总耗时(产生过输出的流式请求另有首字延迟,即 TTFT)、状态码和脱敏错误。网关返回计价详情时会一并显示;日志 CSV 导出在「耗时 (ms)」旁有「首字 (ms)」列;这里不展示供应商名称或中间尝试链。
Router One 会保存我的 prompt 和响应吗?
Router One 不留存直接 API 调用的 prompt 和模型回复正文,仅记录用于计费、用量统计与故障排查的请求元数据。Playground 会保存会话历史,方便用户回看和继续对话。
怎么防止失控循环把余额耗尽?
给 API Key 设置 maxSpend;它的 rateLimit 与 tokenLimitTpm 按平台默认值生效,可申请调高。当循环撞到该 Key 的花费上限或限流时,这个 Key 上的请求会停止,而不会消耗整个钱包。预算是按 Key 设置的,不是按项目。
这是企业级审计或合规平台吗?
不是。这是面向开发者和小团队的请求级可观测与花费管控,不是审计日志、合规或 RBAC 系统。没有组织/角色结构——限额和预算挂在 API Key 上。
供应商出故障时 Trace 会显示什么?
请求日志记录这次模型调用的用量、状态和脱敏错误,不显示供应商名称或故障转移链。支持团队可以用请求 ID 在运维日志中排查中间尝试;请同时保留客户端错误和最终事件。
相关页面
- 流式输出与结束事件
- API 错误与超时排查
- API 连接排错
- 计价方法论
- LLM API 网关
- 自动故障转移
- OpenAI 兼容 API
- LLM 成本追踪
- 转售方 Key 配置
- 按工作负载归因成本
- 数据留存
- Helicone 替代方案
看清每一次请求,管好每一块钱
立即接入