先定义分析坐标
明确时间、数据范围、入口、知识资产和加工过程;指标不支持的维度,不出现在筛选器里。
先统一分析维度,再固化指标口径和适用范围;看板结构、数据存储与接口方案都由这套定义反推。
明确时间、数据范围、入口、知识资产和加工过程;指标不支持的维度,不出现在筛选器里。
每项指标固定名称、公式、粒度、可用维度、数据来源、成熟度、完整水位和版本。
高基数业务分析进入 Reporting PG / OLAP;低基数运行监控进入 Prometheus-compatible TSDB。
维度决定筛选、趋势和下钻。首期定义五类业务维度;运行维度单独用于系统健康,不与用户、任务或文档明细混在一起。
结果 = 指标 × 时间 × 服务端数据范围 × 该指标支持的维度。 同一指标在个人、知识运营和平台运营视图中公式不变,只改变服务端解析出的数据范围。
什么时候发生
event_time、created_at、finished_at;hour / day / week;timezone。
M01–M06
已有 每次响应仍需返回 as_of、complete_through 和 partial。
谁能看、统计哪里
user_id、owner / creator、folder / KB ACL;服务端解析 self / managed / platform scope。
M01–M06
部分具备 部门、BU、租户和组织历史快照尚未贯通。
从哪里发起
entrypoint;Agent、Search、API、MCP 等枚举需由接入端统一登记。
M01–M03
DB 已有 当前外供召回明细没有完整提供 entrypoint。
什么内容、在哪里
folder、KB、document、knowledge_type、publish_status、processing_status。
M04–M06;M03 目标态
部分具备 历史归因需要事件时快照或 SCD,不能只用文档当前位置。
在哪一步、什么结果
operation、current_step、status、retry_count、batch / run / step。
M05–M06
已有 需要统一终态枚举以及排队、执行时间口径。
系统是否健康
env、service、route、status、version、model、provider。
QPS、错误率、P95/P99、lag、并发
待建设 仅用于低基数运行指标,不放 user_id / task_id / doc_id。
首期只承诺现有事实能够支持的指标,并明确区分“数据库可算”“现有外部接口可取”和“代理口径”。
每项指标必须同时给出:指标 ID、业务问题、公式与时间窗、适用维度、事实来源、聚合粒度、成熟度、限制和 metric_version。
| 指标 | 业务问题与口径 | 可用维度 | 事实来源 / 聚合 | 成熟度与限制 |
|---|---|---|---|---|
| A · 使用规模|有多少人在用、用了多少次 | ||||
| M01检索 WAU不是全产品 WAU | 滚动 7 日 count(distinct user_id) |
D1 时间 · D2 范围 · D3 入口 | kp_retrieval_events → 日聚合 |
DB 可算现有外部明细只能算“有命中 WAU”。 |
| M02已记录检索请求数不是任务数 | 时间窗内 count(retrieval_event) |
D1 时间 · D2 范围 · D3 入口 | kp_retrieval_events → 小时 / 日聚合 |
DB 可算request_id 唯一约束可能漏记同一外部请求内多次检索。 |
| B · 知识可用性|有没有检索结果、多少内容处于可用状态 | ||||
| M03已记录检索非空率不能叫回答成功率 | success / (success + empty) |
D1 时间 · D2 范围 · D3 入口 | retrieval status → 小时 / 日聚合 | DB 可算现有外部明细使用 INNER JOIN,空召回不会出现。 |
| M04PG 可检索候选文档数库存快照 | 有效源文档 + enabled + published / completed + 非删除 | D1 快照 · D2 范围 · D4 知识范围 | documents + kp_kb_docs → 日快照 |
代理口径表示 PG 就绪,不能证明向量索引完全一致。 |
| C · 加工交付|知识能否成功、及时进入可用状态 | ||||
| M05加工成功率按终态计算 | 成功终态 /(成功终态 + 失败终态) | D1 时间 · D2 范围 · D4 知识 · D5 加工 | kp_process_runs → 小时 / 日聚合 |
DB 可算排除 cancelled、superseded,固定终态枚举。 |
| M06加工入库时延 P95排队 + 执行 | p95(finished_at - created_at) |
D1 时间 · D2 范围 · D4 知识 · D5 加工 | process run / step → 小时 / 日聚合 | 代理口径不等于 source.updated → content.searchable 的真实新鲜度 SLA。 |
筛选条件必须随指标能力变化,不能让所有指标共享一套虚假的万能筛选器。
时间、服务端数据范围、入口;知识与加工维度仅在支持的指标页出现。
M01 检索 WAU、M02 请求数,以及按时间和入口的趋势。
M03 非空率、M04 候选文档库存;各自展示口径和限制。
M05 成功率、M06 入库 P95,并提供失败步骤入口。
QPS、HTTP 错误率、P95/P99、队列 lag、Worker 并发使用 D6 低基数标签,不混入业务指标字典。
前面已经定义了计算什么以及怎么切分,下面才决定数据从哪里来、如何处理、存在哪里,以及怎样安全提供给 Console。
高基数 · 可复算 · 可追溯 · 受 ACL 约束
资产、KB、加工、检索和 ACL 权威事实。
校验、幂等去重、维度补全、事件时快照、迟到回补。
首期用独立 PG;规模增长后迁移或同步至 OLAP。
小时/日汇总、库存快照、分子分母和指标版本。
Catalog + Batch Query;服务端解析范围并校验 ACL。
核心卡片、趋势、维度拆分和受控下钻。
低基数 · 实时健康 · 告警与容量
当前主要有应用日志和 Worker 周期快照。
统一采集请求、依赖、队列和模型运行遥测。
QPS、错误率、P95/P99、lag、并发和依赖健康。
实时运行大盘、告警状态和服务下钻。
user_id、task_id、doc_id 等高基数明细保存在 Reporting PG / OLAP,不作为 Prometheus 指标标签。出发点是控制时间序列基数、查询成本、隐私风险,并保留业务指标重算能力。
如果维度和指标字典尚未冻结,先做数据库、接口或大屏只会把口径分歧固化进更多系统。
先让业务、数据、后端和 Console 对同一套定义签字。
按已签字的合同建设数据层,而不是让 Console 自己聚合。
首版可信后,再增加业务价值和实时运行监控。
原始接口只允许服务间入仓;浏览器只调用聚合 API。
返回 as_of、complete_through、partial 和 metric_version。
外部传入的 scope_id 不能替代当前调用者的权限校验。
以下内容保留设计依据和精确边界,但不再与主结论争夺注意力。
服务端解析 self scope;首期查看自己的检索使用和趋势。已撤权来源不再展示标题或正文。
服务端解析可管理目录子树;查看内容健康、加工失败、知识缺口和治理队列。
按已授权平台范围聚合;查看采用、稳定性和安全状态,默认不暴露 query_text 与文档名。
三类视图共用 M01–M06 的公式和版本,只改变服务端解析出的 scope,不复制三套指标。
历史目录归因目前只能按文档当前 folder_id 映射,可能随文档移动而漂移;目标态应保存事件时 folder/path 快照或使用 SCD 历史维表。
以下不是当前承诺项。可信解决、严格新鲜度和成本目前缺少可持续事实,必须先增加事件并完成数据质量验证。
task.started、answer.completed、quality.checked、task.feedback、source.updated、content.searchable、model.usage、authz.decision。
与 Issue #18 保持一致:task_id 表示用户目标;turn_id 表示一次外部请求或用户回合;interaction_id 表示每次检索、模型或工具调用;event_id 用于幂等;trace_id 用于跨系统追踪。
asset_folder、documents、asset_file:目录、逻辑文档、版本、类型、大小和生命周期。
kp_kb_docs、kp_batch_jobs、kp_process_runs、kp_process_steps:状态、步骤、重试、错误和耗时。
kp_retrieval_events、kp_retrieval_event_documents:用户、入口、状态、耗时和最终命中文档。
resource_node、access_grant、effective_resource_permission_index、audit、outbox、rebuild task。
/asset/inner/assets:资产最新版本与变更,可用于首次回填和增量入仓。/knowledge/inner/retrieval-records:只返回有命中的文档明细;一行代表一个命中文档,空结果不会出现。增量采集应使用日期 + cursor、重叠窗口重拉和幂等 upsert。小时汇总处理迟到事件,每日保存库存快照;完整水位由 as_of、complete_through 和 partial 表达。
GET /api/v1/insight/metrics/catalog
POST /api/v1/insight/metrics/query:batch
response.meta = {
"as_of": "...",
"complete_through": "...",
"partial": false,
"metric_version": "1.0.0"
}
metrics:read scope 和网关白名单。最终鉴权先汇总调用者全部主体,再按资源选择完整最高层级 owner > local > inherited;仅在选中的同一层级内处理 deny / allow,不能跨层合并 action。
resource_node.owner_principal_key 的资源事实,不是额外 owner grant;新建目录不追加 owner grant。CREATE_SUB 是当前目录的独立本地 action,本身不向后代继承。