Adaptive Capture
从 Dashboard 调整 KMonitor 的数据采集范围。无需发布新的应用版本,即可调整采样、遮罩和日志采集。
Adaptive Capture 可以让你直接从 Dashboard 调整 KMonitor 的数据采集范围,无需 发布新的应用版本。你可以在“应用”选项卡中调整采样率、截图遮罩、日志采集等设置。
SDK 获取此配置并将其缓存在本地,因此更改需要启动两次应用程序 才能生效。第一次启动会获取并缓存新设置,下一次启动时应用这些设置。
默认值
每个应用默认使用以下配置:
| 配置 | 默认值 |
|---|---|
| 崩溃时采集截图 | true |
| 崩溃 Session Timeline 时长 | 300 秒(5 分钟) |
| ANR 时采集截图 | true |
| ANR Session Timeline 时长 | 300 秒(5 分钟) |
| 错误报告会话时间线持续时间 | 300 |
| Trace 采样率 | 100% |
| 旅程采样率 | 100% |
| 启动指标采样率 | 100% |
| 禁用指定 URL 的 HTTP 事件 | (空) |
| 跟踪 URL 的 HTTP 请求正文 | (空的) |
| 跟踪 URL 的 HTTP 响应正文 | (空) |
| 屏蔽的 HTTP Header | Authorization、Cookie、Set-Cookie、Proxy-Authorization、WWW-Authenticate、X-Api-Key |
| 截图遮罩级别 | AllTextAndMedia |
| 自动日志采集 | false |
| 最低日志严重性 | 警告 |
| 日志忽略模式 | (空) |
错误
这些设置适用于崩溃和 ANR(致命错误)。
截图
每个崩溃和 ANR 报告都会包含错误发生时的屏幕截图。如果不想采集截图, 可以关闭此选项。
会话时间线持续时间
每次崩溃和 ANR 都会附带错误发生前几分钟的事件时间线。可以调整这个回溯窗口, 在上下文细节和数据量之间取得平衡。默认采集错误发生前 5 分钟。
错误报告
会话时间线持续时间
每个 Bug Report 都会带上用户提交前的操作时间线。可以设置向前回溯多长时间, 以控制采集更多或更少的会话上下文。默认回溯 5 分钟。
Trace 采样
默认情况下,KMonitor 会上报每一个 Trace。可以把采样率设置为 100% 到 0.001% 之间的任意值,控制采集的 Trace 数据量。
启动指标采样
启动指标涵盖冷启动、温启动和热启动,会显示在 Dashboard 的概览页面。 设置采样率可以控制有多少会话采集这些指标。默认每个会话都会采集启动指标, 你可以将采样率降到 0.001%。
旅程采样
Journey 事件用于支撑 Dashboard 中的 Journey 视图。它们覆盖所有平台上的 screen view 事件、Android 上的 Activity 和 Fragment 生命周期事件,以及 iOS 上的 ViewController 生命周期事件。设置采样率可以控制有多少会话采集这些事件。 默认每个会话都会采集 Journey 事件,你可以将采样率降到 0.001%。
HTTP 活动
HTTP 事件记录应用发出的网络请求。可以用下面这些选项调整采集内容。
采样
所需的最低 SDK 版本:Android 0.16.1 和 iOS 0.9.2
设置采样率可以控制 HTTP 事件的采集频率。默认采集全部 HTTP 事件, 你可以将采样率降到 0.001%。
收集或忽略特定 URL
打开或关闭特定 URL 的 HTTP 事件采集。可以精确匹配 URL,或使用 * 作为
通配符。
示例:
- 禁用特定端点:
https://example.com/api/v1/users - 禁用域及其所有端点:
https://example.com/* - 禁用跨所有域的特定路径:
*/api/v1/orders - 禁用特定的 URL 路径:
https://example.com/api/*/payments
请求体采集
默认不采集请求体和 Header。列出需要采集的 URL,可以精确匹配,也可以使用
* 通配符。仅建议对你确信没有敏感数据且 payload 较小的 URL 启用此功能。
响应体采集
默认也不采集响应体和 Header。列出需要采集的 URL,可以精确匹配,也可以使用
* 通配符。和请求体一样,建议只用于没有敏感数据且 payload 较小的 URL。
屏蔽的 Header
只有对某些 URL 启用了请求体或响应体采集时,Header 才会被采集。 即便如此,你也可以按名称屏蔽特定 Header。匹配时不区分大小写。
无论您是否列出这些标头,都永远不会收集它们:
- Authorization
- Cookie
- Set-Cookie
- Proxy-Authorization
- WWW-Authenticate
- X-Api-Key
屏幕截图遮罩级别
对崩溃和 ANR 采集的截图进行遮罩,防止敏感信息泄露。你可以选择隐藏程度。
遮罩级别配置不适用于 SwiftUI 页面。 由于 SwiftUI 渲染视图的方式,所有 SwiftUI 内容默认都会被遮罩,不受
遮罩级别设置影响。可以使用 .msrMask() 和 .msrUnmask() 修饰符控制单个 SwiftUI 视图的遮罩行为。
从以下级别中进行选择:
遮罩所有文本和媒体
隐藏所有文本、按钮、输入字段、图像和视频。

遮罩所有文本
隐藏所有文本、按钮和输入字段。

遮罩除可点击元素外的文本
隐藏所有文本和输入字段,但保留可点击的视图(例如按钮)可见。

遮罩敏感输入字段
隐藏密码、电子邮件和电话字段等敏感输入字段。

日志
日志设置控制 SDK 采集日志的方式。
自动日志采集
仅适用于 Android。
自动采集写入平台标准日志流的日志。你通过 log API 手动记录的日志不受此设置影响,始终会被采集。默认关闭。
最低日志级别
设置最低采集严重级别。无论是自动采集的日志,还是通过 Measure.log API 手动记录的日志,
低于该级别的内容都会在源头被丢弃。级别从低到高依次为 debug、info、warning、error 和 fatal。
默认情况下,KMonitor 保留 warning 及以上级别,丢弃 debug 和 info。
忽略模式
列出用于匹配日志正文的正则表达式。正文命中任一模式的日志都会在源头被丢弃。