『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)

时间:2021-06-08 15:58:43

说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。

原文:.NET Core Tools Telemetry

翻译:.NET Core 工具遥测(应用信息收集)

.NET Core 工具遥测(应用信息收集)

.NET Core 工具包含收集使用信息的 遥测功能。对于 .NET 团队了解如何使用工具以便于可以提升它们是重要的。

收集的数据是匿名的,并将发布一个汇总的形式,在 知识共享署名许可协议 下供微软和社区工程师使用。

适用范围

dotnet 命令是用于启动应用程序和 .NET Core 工具。dotnet 命令它本身不会收集遥测数据。它是 dotnet 命令通过运行 .NET Core 工具来收集遥测数据。

.NET Core 命令(遥测未启用):

  • dotnet
  • dotnet [path-to-app]

.NET Core 工具 命令 (遥测启用),例如:

  • dotnet build
  • dotnet pack
  • dotnet restore
  • dotnet run

行为

默认情况下 .NET Core 工具遥测功能是启用的。你可以选择退出遥感功能,通过设置一个环境变量 DOTNET_CLI_TELEMETRY_OPTOUT (例如:在 macOS/Linux 上的 export,在 Windows 上的 set)为 true (例如:“true”,1)。

数据点

该功能收集以下几部分数据:

  • 正在使用的命令(例如: “build”、“restore”)
  • 命令退出代码
  • 对于测试项目,正在使用的测试器
  • 调用的时间戳
  • 使用的框架
  • 运行时的 IDs 是否与当前 “runtimes” 节点一致
  • 当前正在使用的 CLI 版本

该功能不会收集任何个人数据,比如用户名或者电子邮件。它不扫描你的代码,不提取任何可以视为敏感语句的项目级别数据,例如名称,仓库地址,或者作者(如果你在你的 project.json 设置这些)。我们想知道工具如何被使用,而不是你使用工具生成什么。如果你发现敏感的数据被收集,这是一个错误。请 提交一个 issue,它将会被修复。

许可协议

微软 .NET Core 分配的许可协议是 MICROSOFT .NET LIBRARY EULA。为了启动遥感,这个包括 “DATA” 部分重新输出在下面。

.NET NuGet packages 使用这个相同的许可协议,但是未开启遥感(参考上面的 适用范围)。

2.      DATA.  The software may collect information about you and your use of
the software, and send that to Microsoft. Microsoft may use this information
to improve our products and services. You can learn more about data collection
and use in the help documentation and the privacy statement at
http://go.microsoft.com/fwlink/?LinkId=528096 . Your use of the software
operates as your consent to these practices.

说明

当你首次运行一个命令(例如:dotnet restore)时,.NET Core 工具显示下面的文字。这个“首次运行”体验是微软如何通知你关于数据收集。同样的体验,最初填充你的 NuGet 缓存在 .NET Core SDK 中,避免去 NuGet.org(或者其它 NuGet 源)请求这些库。

Welcome to .NET Core!
--------------------- Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to
see available commands or go to https://aka.ms/dotnet-cli-docs. Telemetry
--------- The .NET Core tools collect usage data in order to improve your experience.
The data is anonymous and does not include commandline arguments. The data is
collected by Microsoft and shared with the community. You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT
environment variable to 1 using your favorite shell. You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-
telemetry. Configuring...
-------------- A command is running to initially populate your local package cache, to
improve restore speed and enable offline access. This command will take up to
a minute to complete and will only happen once.