谷歌打算将遥测添加到 Go 工具包中

谷歌计划将遥测收集添加到Go语言工具包中,并默认启用发送收集的数据。 遥测将涵盖 Go 语言团队开发的命令行实用程序,例如“go”实用程序、编译器、gopls 和 govulncheck 应用程序。 信息收集仅限于有关公用事业运营特征的信息积累,即遥测数据不会添加到使用该工具包收集的自定义应用程序中。

收集遥测数据的动机是希望获得有关开发人员工作的需求和功能的缺失信息,而使用错误消息和调查作为反馈方法无法捕获这些信息。 收集遥测数据将有助于识别异常和异常行为,评估开发人员和工具之间交互的特殊性,并了解哪些选项最受欢迎,哪些选项几乎从未使用过。 预计积累的统计数据将使工具现代化、提高效率和易用性成为可能,并特别关注开发人员所需的功能。

对于数据收集,提出了一种新的“透明遥测”架构,旨在提供对收到的数据进行独立公共审计的可能性,并仅收集最少的必要通用信息,以防止泄露有关用户活动的详细信息的痕迹。 例如,在评估工具包消耗的流量时,计划考虑全年的数据计数器(以千字节为单位)等指标。 所有收集到的数据将公开发布以供检查和分析。 要禁用遥测发送,您需要设置环境变量“GOTELEMETRY=off”。

构建透明遥测的关键原则:

  • 关于所收集指标的决策将通过公开的流程做出。
  • 遥测收集配置将根据主动监控的指标列表自动生成,而不收集与这些指标无关的数据。
  • 遥测收集配置将保存在具有可验证记录的透明审核日志中,这将使不同系统的不同收集设置的选择性应用变得复杂。
  • 遥测收集配置将采用可缓存的代理 Go 模块的形式,可以在已使用本地 Go 代理的系统中自动使用。 遥测配置下载每周启动次数不超过一次,概率为 10%(即每个系统每年下载配置约 5 次)。
  • 传输到外部服务器的信息将仅包括最终计数器,该计数器考虑了整周的统计数据,并且与特定时间无关。
  • 发送的报告将不包含任何形式的系统或用户标识符。
  • 发送的报告将仅包含服务器上已知的行,即计数器名称、标准程序名称、已知版本号、标准工具包实用程序中的函数名称(发送堆栈跟踪时)。 非字符串数据将仅限于计数器、日期和行数。
  • 访问遥测服务器的 IP 地址不会存储在日志中。
  • 为了获得所需的样本,计划每周收集 16 份报告,考虑到该工具包的安装量为 2 万份,每周只需要从 XNUMX% 的系统发送报告。
  • 收集到的汇总指标将以图形和表格形式公开发布。 遥测收集过程中积累的完整原始数据也将被发布。
  • 遥测收集将默认启用,但将提供一种简单的方法来禁用它。

来源: opennet.ru

添加评论