Zed 中的遥测

Zed 收集匿名遥测数据,以帮助团队了解人们如何使用该应用程序,并了解他们正在经历的各种问题。

配置遥测设置

您可以完全控制 Zed 发送的数据。要启用或禁用部分或全部遥测类型,请通过命令面板中的 zed: open settings(cmd-,|ctrl-,) 打开您的 settings.json 文件。

插入并调整以下内容

"telemetry": {
    "diagnostics": false,
    "metrics": false
},

遥测设置也可以通过欢迎屏幕进行配置,欢迎屏幕可以通过命令面板中的 workspace: welcome 操作调用。

数据流

遥测数据从应用程序发送到我们的服务器。数据通过我们的服务器进行代理,使我们能够轻松切换分析服务。 我们目前使用

  • Axiom:云监控服务 - 存储诊断事件
  • Snowflake:商业智能平台 - 存储诊断事件和指标事件
  • Metabase:仪表板 - 基于从 Snowflake 提取的数据构建的仪表板

遥测类型

诊断

诊断事件包括来自崩溃报告的调试信息(堆栈跟踪)。 报告在崩溃发生后的首次应用程序启动时发送。 我们构建了仪表板,可以可视化用户遇到的问题的频率和严重性。 自动发送这些报告使我们能够开始实施修复,而无需用户在我们的问题跟踪器中提交报告。 仪表板中的图也为我们提供了一个衡量 Zed 稳定性的非正式指标。

您可以通过检查 Zed 仓库中 crates/telemetry_events/src/telemetry_events.rs 中的 Panic 结构来查看发生崩溃时发送的数据。 您可以在 调试崩溃 文档中找到更多信息。

使用情况数据(指标)

为了改进 Zed 并了解它在实际使用中的方式,Zed 可选择收集使用情况数据,例如

  • (a) 打开文件的文件扩展名;
  • (b) 您在编辑器中使用的功能和工具;
  • (c) 项目统计信息(例如,文件数);以及
  • (d) 在您的项目中检测到的框架

使用情况数据不包括您的任何软件代码或敏感项目详细信息。 指标事件通过 HTTPS 报告,并且请求受到速率限制,以避免使用大量的网络带宽。

使用情况数据与安全随机遥测 ID 相关联,该 ID 可能链接到您的电子邮件地址。 这种链接目前有两个目的:(1) 它允许 Zed 随着时间的推移分析使用模式,同时保持您的隐私; (2) 它使 Zed 能够联系特定的用户群,以获取反馈和改进建议。

您可以通过从命令面板运行命令 zed: open telemetry log 或在应用程序菜单中单击 帮助 > 查看遥测日志 来审核 Zed 报告的指标数据。

您可以通过检查 Zed 存储库中 crates/telemetry_events/src/telemetry_events.rs 中的 Event 枚举和关联的结构来查看事件类型的完整列表以及每个事件发送的确切数据。

疑虑和问题

如果您对遥测有任何疑虑,请随时提出问题