/api/v1/debug-artifacts 管理。
选择产物类型
支持原始文件与 gzip 压缩文件。上传文件最大 50 MiB;gzip 解压后最大 256 MiB。
匹配构建标识
MoleSignal 根据 RUM Error 的构建标识选择调试产物:
常见 ABI 别名会自动规范化。例如,
arm64-v8a 与 aarch64 会转换为 arm64,amd64 与
x64 会转换为 x86_64。十六进制 Debug ID 与 UUID 比较时会忽略大小写、花括号、连字符和
开头的 0x。
Browser 示例
每次构建时,为service 和 version 设置稳定值:
已部署帧 URL 以
/assets/app.8f312.js 结尾时,需要上传 app.8f312.js.map。所有按需加载
Chunk 的 Source Map 都要上传,不能只上传主 Bundle。
在页面中上传
1
在构建中启用 Source Map
在生产构建中生成外部 Source Map。如果安全策略要求源码保持私有,请不要把 Source Map 部署到公网。
2
打开上传页面
进入 RUM → RUM 设置 → Source Maps 与 Symbols,然后点击 上传调试产物。
3
填写构建标识
选择产物类型与平台,填写完全一致的应用、服务和版本。移动端产物还要填写架构与 Debug ID,
然后选择生成的文件。
4
验证符号化
从该版本发送一个错误,打开 RUM → 错误,确认堆栈已显示原始源码位置。
准备 Release 产物
- Web
- Flutter Android
- Flutter iOS
- Android 原生
- iOS 原生
使用实际部署的 Browser Bundle 生成外部 Source Map。源码不允许公开时,仅把 上传
.map 文件
保存在私有发布流水线中。构建 Flutter Web 时启用 Source Map:main.dart.js.map 时使用 kind=javascript_sourcemap、platform=flutter 与
architecture=javascript。从 CI 上传
使用具有streams.configure 权限的管理 Token。不得把该 Token 写入 Browser 或移动应用,
也不得使用公开的 msrum_ Client Token 管理调试产物。
architecture 或 debug_id 留空。移动端使用精确构建标识
可以避免匹配歧义。
通过 GET /api/v1/debug-artifacts 列出产物,可按 application_id、service、kind 或
platform 筛选。通过 DELETE /api/v1/debug-artifacts/{id} 删除单个产物。列出产物需要
streams.read,上传与删除需要 streams.configure。
发布检查清单
- 保留实际部署二进制或 Bundle 生成的产物。
- 在任何错误可能被记录之前设置不可变的 SDK 版本。
- 保持应用、服务、版本、架构与 Debug ID 和当前构建一致。
- 上传全部 Web Chunk Source Map 与所有已发布移动端架构的产物。
- 只在发布流水线中保存管理 Token。
- 部署后发送一个受控错误,并确认堆栈帧已生成还原后的
original_*字段。
Browser RUM SDK
配置 Browser 应用、服务与版本标识。
Flutter App RUM SDK
配置 Flutter 构建标识与错误采集。