PML 2
遥测
本文将介绍 PML 2 的遥测 (数据统计) 机制, 包括采集范围、用途与关闭方法。
PML 2 使用 Sentry 提供遥测 (错误跟踪与性能监控) 服务, 用于定位崩溃、修复缺陷并改善软件稳定性。遥测默认关闭, 仅在您于首次启动时同意隐私政策后才会启用。
1. 同意与开关
| 时机 | 行为 |
|---|---|
| 首次启动 | 弹出隐私政策对话框。选择「同意」后将 PrivacyAgreed 与 IsTelemetryEnabled 同时置为 true, 并立即初始化 Sentry; 选择「拒绝」则 PrivacyAgreed 保持 false 并退出应用。 |
| 之后启动 | 仅当 IsTelemetryEnabled 为 true 时才初始化 Sentry。 |
两个字段都位于 Config/Settings.json (见配置文件) , 默认值均为 false。修改后需重启应用才会生效; 将 IsTelemetryEnabled 改为 false 并重启后, 应用会关闭 Sentry 客户端, 不再发送任何数据。
2. 采集内容
| 类别 | 具体内容 |
|---|---|
| 崩溃与错误 | 异常类型、消息与调用堆栈, 以及触发错误时的操作标签 (如 plugin.load、api.nodes.status) |
| 设备信息 | 设备唯一标识 (作为 Sentry 用户 ID) 、操作系统版本、应用版本 |
| 账号信息 | 登录成功后的用户名与邮箱 |
| 会话与性能 | 会话起止 (自动会话跟踪) 、Release 构建下 30% 采样率的性能事务, 以及部分网络接口的调用耗时 |
| 使用行为 | 页面浏览与用户操作等面包屑事件, 如 plugin.install、plugin.enable、plugin.market.refresh |
3. 不会采集的内容
遥测数据不包含以下信息:
- 账号密码与登录令牌
- 隧道的配置内容与流量数据
- DNS 服务商凭据 (凭据仅保存在本机加密存储中, 不写入日志与遥测)
4. 数据存储与第三方
遥测数据由 Sentry (Functional Software, Inc.) 处理, 其服务器位于欧盟。数据保留期遵循 Sentry 的标准数据保留政策, 详见 Sentry 隐私政策。
5. 插件与遥测
插件系统的关键操作也会产生遥测:
| 埋点 | 触发时机 |
|---|---|
plugin.load / plugin.reload | 插件加载 / 热重载 |
plugin.enable / plugin.disable | 插件启用 / 禁用 |
plugin.install / plugin.uninstall | 插件安装 / 卸载 |
plugin.trigger:<事件名> | 插件动作抛出异常时作为错误标签上报 |
因此插件动作的日志与异常信息中不应写入敏感数据。若您不希望这些数据被上报, 请保持遥测关闭。