Files
pikasTech-unidesk/docs/MDTODO/details/sub2api-upstream-reliability/R8_Task_Report.md
T
2026-07-16 15:15:58 +02:00

2.3 KiB
Raw Blame History

R8 任务报告

任务回链

  • MDTODOR8。
  • GitHub issueUniDesk #2341。
  • TargetNC01。
  • 分支:fix/sub2api-error-attribution

实现

  • faultsrequest_id 关联 native request-errorsupstream-errors 与最终 request 状态。
  • P0 只统计 external-customer 的最终 4xx/5xx,最终 499、context canceled 和 client disconnected 不计入。
  • P2 保留 upstream attempt,同时展示 upstream/final 状态、调用者分类、吸收结果和账号评分资格。
  • 默认汇总增加 external P0、internal monitor、internal user 和 canceled 分视图,保持 Kubernetes 风格渐进披露。
  • 删除失效的 runtime models 文档入口,正式替代入口为:
    • runtime get --account:账号配置与调度状态;
    • runtime errors --account --full:原生 Ops 已观测模型证据。

验证

  • bun scripts/cli.ts check --syntax-only11/11 通过。
  • 调用者分类 smoke
    • 管理员 main key 归为 internal-user
    • 明确 monitor key 归为 internal-monitor
    • monitoring-user 不被模糊匹配为 monitor。
  • P0 过滤后分页 smoke
    • group 2 的 external final error 总数为 24
    • 第一页返回 20 行和 next token
    • 第二页返回剩余 4 行且不再返回 next token。
  • 643ab721-65ae-4f21-a119-2a5e81abb31fupstream 502、final 499、P0 clear、absorbed yes、score eligible no。
  • afffce5c-9eb0-4226-b765-85312ca31af0upstream 524、final 499、P0 clear、absorbed yes、score eligible no。
  • 7ae72409-e5d1-4c14-8963-d63179b4cc35P0 clear,未计为账号失败。
  • 真实最终 502 样本 10766195-ee99-4c84-8bbc-e21df23e141fP0 activecustomer error count 为 1。

边界与风险

  • 未修改 Sub2API 源码、版本、runtime、账号、外部哨兵或生产运行面。
  • 调用者分类依赖 native request 返回的 user/API-key 字段;字段缺失时保守归为 external customer,但最终取消仍通过 final status 排除 P0 和账号扣分。
  • 默认汇总需要读取同窗口 request 记录完成关联,查询成本高于旧的直接 total 投影,但仍使用固定 24 小时窗口和分页原生接口。
  • 主代理已完成 diff 审核;PR #2344 合并后从最新 master 执行只读原入口复测。