KKMonitor

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 HeaderAuthorization、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 视图的遮罩行为。

从以下级别中进行选择:

遮罩所有文本和媒体

隐藏所有文本、按钮、输入字段、图像和视频。

Mask All Text And Media

遮罩所有文本

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

Mask All Text

遮罩除可点击元素外的文本

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

Mask Text Except Clickable

遮罩敏感输入字段

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

Mask Sensitive Input Fields

日志

日志设置控制 SDK 采集日志的方式。

自动日志采集

仅适用于 Android。

自动采集写入平台标准日志流的日志。你通过 log API 手动记录的日志不受此设置影响,始终会被采集。默认关闭。

最低日志级别

设置最低采集严重级别。无论是自动采集的日志,还是通过 Measure.log API 手动记录的日志, 低于该级别的内容都会在源头被丢弃。级别从低到高依次为 debuginfowarningerrorfatal。 默认情况下,KMonitor 保留 warning 及以上级别,丢弃 debuginfo

忽略模式

列出用于匹配日志正文的正则表达式。正文命中任一模式的日志都会在源头被丢弃。