跳转到主要内容
服务页的部署标签把两种来源放在一起:流水线上报的发布事件,以及服务的 Span 在 service.version 里带的版本。没有流水线上报的版本,也会根据 Span 显示出来。

发布时间线

时间线按从新到旧列出时间范围内服务发生的变化: 配置变更和功能开关不改变正在运行的版本,也没有自己的指标。它们会出现在洞察附近的变更里,见发现附近的变更。 上报的发布会显示 commit、PR、CI 运行和作者。仓库是 http 或 https 地址时,点击 commit 会按 GitHub、GitLab 或 Bitbucket 的提交地址格式打开这次提交的网页。 每个版本在时间范围内的请求数、错误率和 p95 显示在它最新的一行,并附上与它之前首次出现的版本的对比结论: 点击结论会在对比两个版本中打开这两个版本,并列出变慢的端点和增多的错误。变差或变好的版本也会在概览的最近部署里标出。

金丝雀

两个版本同时运行时(例如金丝雀版本与它要替换的版本并存),时间线上方会有一张卡片把它们并排对比。两个版本都在服务最后一个 Span 之前五分钟内出现过,就算同时运行。卡片对比最新的两个版本,从较新版本首次出现时算起:
  • 每个版本承接的请求占比;
  • 每个版本的请求数、错误率、p50、p95 和 p99;
  • 较新版本相对较旧版本的结论。

从 CI 上报发布

流水线通过 POST /api/v1/apm/deployments 上报发布。请求需要角色具有 apm.deploy 权限的 API Token。所有者、管理员和编辑者都具有该权限,新建 API Token 时默认使用的接入 Token 角色也具有。
服务名和环境按 APM 的方式命名:组织的命名规则、环境映射和别名对它们生效,与对 Span 的处理相同。参见 APM 设置。 数据源页面的 GitHub Actions、GitLab CI/CD 和 Jenkins 下有以下步骤,并已填好工作区的地址。

GitHub Actions

把 Token 保存为仓库 Secret,然后在负责部署的 job 里加一个步骤。if: always() 使失败的发布也会上报。

GitLab CI/CD

把 Token 添加为名为 MOLESIGNAL_TOKEN 的隐藏 CI/CD 变量,然后在部署 job 的 after_script 中上报。after_script 不论部署成败都会执行。

Jenkins

把 Token 添加为 ID 为 molesignal-token 的 Secret text 凭据,然后在流水线的 post 块中上报。post { always } 在构建失败时也会上报。GIT_URL 中带的密码在保存时会被遮盖。

上报配置变更与功能开关

配置变更和功能开关使用同一个接口上报,设置 kind,并在描述里写明改了什么,不需要版本。

故障排查

最后修改于 2026年10月26日