百积木文档
功能指南

Runtime 日志与调用链路

按工作区和 Runtime 查询调用记录,通过 Trace ID 定位方法、下游请求及错误,并区分 Hosted Service 环境日志。

Runtime 日志用于查看一次方法调用经过的步骤、耗时、错误和链路属性。它按 applicationRuntimeId 查询;Hosted Service 的进程输出和迁移日志按 environmentId 查询,两者是不同入口。

从控制台查询

  1. 进入目标工作区,点击顶部的 Runtime 日志
  2. 从列表选择 Runtime。只有一个 Runtime 时自动选中;名称旁显示实际 applicationRuntimeId
  3. 点击 查看调用链路,选择时间范围,查看调用列表和统计。
  4. 选择一条调用查看详情;已知 Trace ID 时,也可以先在页面输入,再打开指定链路。

当前身份必须能访问 Runtime 所属工作区。选择工作区或填写 Runtime ID 不会授予权限,跨工作区查询仍受当前登录身份及凭据范围限制。

两类日志如何配合

查询入口选择范围日志来源与内容
Runtime 日志工作区、applicationRuntimeId、最近时间范围;详情再提供 traceIdARMS 调用链路,包括方法调用、耗时、错误和已记录的属性。
Hosted Service 日志工作区、项目、environmentId、开始与结束时间;可按请求或 Trace 标识搜索SLS 中归属于该后端环境的运行进程输出和迁移输出。

Runtime ID 不是平台应用 ID、项目 ID 或 Hosted Service 环境 ID。不要用页面地址中的应用编号替代 Runtime ID。

Runtime 详情会检查 Trace 是否属于所选 Runtime,再返回完整链路。它不是平台所有服务的原始进程日志,也不自动查询 Hosted Service 的输出。若调用已到达业务后端,继续使用 Hosted Service 环境日志,按故障时间和实际记录的请求标识排查。

日志中的敏感内容应在记录时处理。查询入口展示已记录的链路属性;提交给他人的排查材料仍应移除凭据和个人信息。

使用 CLI 调用公开 API

可以使用现有 baijimu api,无需配置 ARMS 云凭据。先从控制台 Runtime 列表取得真实 ID,将以下变量替换为本次实际值。

查询最近一小时的调用记录:

baijimu api get \
  "/partner/v1/observability-service/api/monitoring/traces/$APPLICATION_RUNTIME_ID" \
  --workspace-id "$WORKSPACE_ID" \
  --query hours=1 \
  --query pageNum=1 \
  --query pageSize=20 \
  --json

分页从 pageNum=1 开始,结果在 data.records,总数在 data.total。时间范围按查询时刻向前计算,不能用 Hosted Service 的 startTimeendTime 参数替代。

查询统计:

baijimu api get \
  "/partner/v1/observability-service/api/monitoring/statistics/$APPLICATION_RUNTIME_ID" \
  --workspace-id "$WORKSPACE_ID" \
  --query hours=1 \
  --json

查看指定链路时,在 trace-query.json 中填写两个真实标识:

{
  "applicationRuntimeId": "填写 Runtime ID",
  "traceId": "填写 Trace ID"
}
baijimu api post \
  /partner/v1/observability-service/api/otlp/trace-detail \
  --workspace-id "$WORKSPACE_ID" \
  --data @trace-query.json \
  --json

仅有 traceId 不能查询详情;必须同时指定其所属 Runtime。链路详情包括 data.spans 及各 Span 的属性。

处理错误与空结果

有效 CModel 响应 使用 HTTP 200,业务成败由 errorCode 决定。非零错误码是查询失败,不能当作空列表。

错误码或现象排查方向
UNAUTHORIZED查询身份缺失或无效;检查登录状态。
FORBIDDEN当前身份不能访问该工作区、凭据范围不匹配,或 Trace 不属于所选 Runtime。
NOT_FOUNDRuntime 已不存在或不可用,重新确认列表和 ID。
INVALID_PARAM核对 Runtime ID、Trace ID 和查询参数。
LOG_QUERY_UNAVAILABLERuntime 范围或权限依赖不可用,保留查询条件交由平台维护者处理。
MONITORING_ERROROTLP_ERROR调用链路查询依赖失败或未配置,不能据此判断业务数据库密码错误。
成功但没有记录检查 Runtime、时间范围、请求是否执行,以及采集延迟和保留范围。

定位一次业务错误时,保留故障时间与时区、Runtime ID、方法名、Trace ID、业务错误码,以及日志查询自身的结果。若 Runtime 链路显示下游调用失败,再检查对应 Hosted Service 环境日志;若没有进入业务后端,后端环境可能没有同次请求记录。

本页内容