第45章 遥测(Telemetry)
Zed 会收集匿名遥测数据,以了解使用模式并诊断问题。
遥测数据分为两类:
- 客户端:使用指标和崩溃报告。您可以在设置中禁用。
- 服务端:在使用 AI 或协作等托管服务时收集。这些功能正常运行所必需。
配置遥测设置
您可以完全控制 Zed 发送的数据。 若要启用或禁用部分或全部遥测类型,请打开设置({#kb zed::OpenSettings})并搜索 "telemetry",或在设置文件中添加以下内容:
json [settings]
"telemetry": {
"diagnostics": false,
"metrics": false
},
数据流
遥测数据每 5 分钟(或累积 50 个事件时)从应用程序发送到我们服务器,然后路由到相应的服务。我们目前使用:
- Sentry:崩溃监控服务,存储诊断事件
- Snowflake:数据仓库,存储诊断和指标事件
- Hex:仪表盘和数据探索,访问存储在 Snowflake 中的数据
- Amplitude:仪表盘和数据探索,访问存储在 Snowflake 中的数据
遥测类型
诊断
崩溃报告包含 minidump 和调试元数据。报告会在崩溃后的下次启动时发送,使 Zed 能够识别和修复问题,无需您提交 bug 报告。
您可以在 crates/crashes/src/crashes.rs 中的 CrashInfo 结构体中检查发送的数据。另见:调试崩溃。
客户端指标
客户端遥测包括:
- 已打开文件的文件扩展名
- 编辑器内使用的功能和工具
- 项目统计数据(如文件数量)
- 项目中检测到的框架
此数据不包含您的代码或敏感的项目详情。事件通过 HTTPS 发送并进行速率限制。
使用数据关联一个随机的遥测 ID。如果你已登录,此 ID 可能会与你的邮箱关联,以便 Zed 分析长期行为模式并联系你收集反馈。
要审计 Zed 上报的数据,可从命令面板运行 {#action zed::OpenTelemetryLog},或点击 Help > View Telemetry Log。
完整的事件类型列表,请参见 telemetry_events.rs 中的 Event 枚举。
服务端指标
使用 Zed 的托管服务时,我们会收集元数据用于速率限制和计费(例如 token 用量)。除非你主动分享反馈或选择加入 Edit Prediction 训练数据收集,否则 Zed 不会存储你的提示词或代码。
关于 AI 请求路径和选择性数据共享的详情,请参阅 AI 隐私 和 反馈与训练数据。
Zed Business
Zed Business 的管理员可在全组织范围内强制执行禁止共享策略;成员无法选择加入 Edit Prediction 训练数据共享 或 AI 反馈评级。详见管理员控制中的 数据共享 章节。
疑虑与咨询
如果你对遥测功能有顾虑,可以提交 issue 或发送邮件至 hi@zed.dev。