GET /api/v1/web/topology
streams.query,系统范围可使用 sys.telemetry.read。
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
from | string | 是 | 窗口起点,RFC 3339 时间戳。 |
to | string | 是 | 窗口终点,RFC 3339 时间戳,不能早于 from。 |
curl "http://localhost:5080/api/v1/web/topology?from=2026-10-04T09:00:00Z&to=2026-10-04T10:00:00Z" \
-H "authorization: Bearer $MS_JWT"
{
"nodes": [
{ "id": "checkout", "name": "checkout", "error_rate": 0.0278, "p95_ms": 90.0, "rps": 0.1, "span_count": 360 },
{ "id": "frontend", "name": "frontend", "error_rate": 0.0278, "p95_ms": 90.0, "rps": 0.1, "span_count": 360 }
],
"edges": [
{ "source": "frontend", "target": "checkout", "rps": 0.1, "err_rate": 0.0278, "p95_ms": 90.0 }
]
}
| 字段 | 说明 |
|---|---|
nodes[].id、nodes[].name | 服务名称。节点按名称排序。 |
nodes[].span_count | 与该服务相连的所有边上的请求数,不论该服务是客户端还是服务端。 |
nodes[].error_rate、edges[].err_rate | 错误数除以请求数,范围为 0 到 1。 |
nodes[].rps、edges[].rps | 请求数除以窗口长度(秒)。 |
nodes[].p95_ms、edges[].p95_ms | 所聚合的各个时间桶中最高的 p95 延迟,单位为毫秒。它不是整个窗口的 p95。 |
edges[].source、edges[].target | 客户端服务与服务端服务。边按 source、再按 target 排序。 |
| 状态码 | 原因 |
|---|---|
400 | from 或 to 缺失或不是 RFC 3339 时间戳,或 to 早于 from。 |
403 | Token 缺少 streams.query。 |