跳到主要内容

coze-loop · 用户路径

约 4 分钟687 字更新于 2026/10/22

本页给出 coze-loop 的逐步数据路径。先看图,再看每步的证据。回到 coze-loop 总览。

路径图​

图例:接入、队列与处理、存储、查询服务、前端、评估。虚线表示写入和读取之间靠存储相连。

逐步证据​

  1. 客户端用 PAT 调 POST /v1/loop/traces/ingest 或 OTLP 入口。
  2. 若有大字段,客户端先 POST /v1/loop/files/upload,再在 span 的 object_storage 里引用 key。
  3. OpenAPIApplication.IngestTraces 校验 workspace 一致、检查写入权限、设 call_type、查权益、按租户分组、检查批量上限。
  4. TraceService.IngestTraces 跑 ingest processor,打成 TraceData,交给 producer。
  5. producer 把消息压缩后发到 RocketMQ topic trace_ingestion_event。
  6. collector 的 RMQ receiver 消费、校验并丢弃非法 span,queue processor 按 1000 条或 1 秒成批。
  7. ClickHouse exporter 按 TTL 与 workspace 分组,写入 observability_spans。
  8. 用户在控制台打开 Trace 页,前端调 POST /api/observability/v1/spans/list。
  9. TraceService.ListSpans 合并平台内置过滤(call_type = Custom、root span、workspace)和用户过滤,查 ClickHouse,挂标注,跑平台与过期处理器,返回游标。
  10. 前端渲染列表;对 root span 再批量请求 token 汇总。
  11. 用户点一行,前端调 GET /api/observability/v1/traces/:trace_id,后端取该 trace 的全部 span,AttrTosProcessor 把大字段 key 换成签名 URL。
  12. 前端用 parent_id 组成树,按 span 类型渲染 Run 和 Metadata 页签。