以下页面描述网关的预期行为。开源版本与企业版本正在拆分中,首个正式版本发布后细节会同步更新。
指标
统计什么、粒度如何,以及如何被抓取。
每个请求都会产生指标,并对外暴露以供抓取。未配置导出目标时,指标默认关闭。
计数器
| 指标 | 维度 |
|---|---|
| 请求数 | provider、模型、密钥、路由、状态类别 |
| Token | 方向(输入、输出、命中缓存)、provider、模型 |
| 尝试次数 | target、结果 |
| 被暂停的 target | target、失败分类 |
| 重试次数 | 原因、target |
延迟
延迟以直方图记录,因此百分位在查询时计算。
- 请求总耗时
- 首字节时间(流式响应)
- 单次尝试耗时
最后一项是用来区分「网关慢」和「provider 慢」的关键。
成本
成本由 Token 用量与价格表推导。当某个模型的价格未知时,请求仍被计数, 但成本序列会跳过,而不是记为 0。
暴露方式
指标监听属于基础设施端点,因此它放在启动配置里,而不是控制台:
[telemetry.metrics]
prometheus = true
listen = "0.0.0.0:9090"
指标同样可以通过 OTLP 导出。同一条管道的追踪部分见日志与追踪。
基数控制
上面每个维度都会成倍放大序列数量。因此模型标识与密钥名称的取值由控制台中配置的内容限定, 而不是接受请求中的任意值 —— 调用方无法通过编造模型名来制造新的时间序列。