Microsoft.Testing.Platform 遥测

Microsoft.Testing.Platform 会收集遥测数据,用于帮助了解如何改进产品。 例如,此使用情况数据有助于调试问题(例如启动时间缓慢)和确定新功能的优先级。 虽然这些见解很受欢迎,但你可随时禁用遥测。 有关遥测的详细信息,请参阅隐私声明

遥测数据的类型

Microsoft.Testing.Platform 仅收集使用情况数据类型的遥测数据。 可通过使用情况数据了解各个功能的使用方式,以及执行测试应用的耗时情况。 这有助于确定产品改进的优先级。

禁用遥测报告

若要禁用遥测,请将 TESTINGPLATFORM_TELEMETRY_OPTOUTDOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1

公开

首次运行可执行文件时,Microsoft.Testing.Platform 将显示类似于以下内容的文本。 输出文本可能因正在运行的 Microsoft.Testing.Platform 版本而略有不同。 此“首次运行”体验是 Microsoft 通知用户有关数据收集信息的方式。

Telemetry
---------
Microsoft.Testing.Platform collects usage data in order to help us improve your experience.
The data is collected by Microsoft and are not shared.
You can opt-out of telemetry by setting the TESTINGPLATFORM_TELEMETRY_OPTOUT
or DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about Microsoft.Testing.Platform telemetry: https://aka.ms/testingplatform-telemetry

数据点

遥测功能不收集用户名或电子邮件地址等个人数据。 它不会扫描代码,也不会提取项目级数据(如存储库或作者),它会提取可执行文件的名称,并将其以哈希格式发送。

它不会提取应用访问或创建的任何数据文件的内容、应用对象占用的任何内存的转储,也会提取剪贴板的内容。

数据通过 Azure Monitor 技术安全地发送到 Microsoft 服务器,提供对保留数据的受限访问权限,并在严格的安全控制下从安全的 Azure 存储系统发布。

保护你的隐私对 Microsoft 很重要! 如果怀疑遥测在收集敏感数据,或认为处理数据的方式不安全或不恰当,请在 microsoft/testfx GitHub 存储库中记录问题或发送电子邮件至 dotnet@microsoft.com 以供我们展开调查。

遥测功能收集以下数据点:

版本 Data
全部 .NET 运行时版本。
All 应用程序模式,如“服务器”。
全部 失败的测试重试计数。
All 通过的测试重试计数。
All 失败的测试计数。
All 通过的测试计数。
All 运行的测试计数。
All 所使用的扩展的 DisplayName(作为哈希值)。
All 如果使用平台的调试版本。
All 如果调试程序已附加到进程。
All 如果使用了测试筛选器。
全部 如果启用了热重载。
All 如果应用程序崩溃。
全部 如果应用程序以 NativeAOT 身份运行。
全部 如果存储库是我们自己的存储库。 基于 testingplatformconfig.json 中的 telemetry:isDevelopmentRepository 设置
All 所使用的测试框架的名称(作为哈希值)。
全部 可执行文件的名称(通常与项目的名称相同),作为哈希值。
All 操作系统、版本和体系结构。
全部 进程体系结构。
All 运行时 ID (RID)。 有关详细信息,请参阅 .NET RID 目录
全部 应用程序的退出代码。
All 用于确定地理位置的三个八进制数 IP 地址。
全部 调用的时间戳、执行中各种步骤的开始和结束的时间戳。
All 平台的版本。
全部 扩展的版本。
全部 测试适配器的版本。
全部 用于关联单个运行器的事件的 Guid。
1.0.3 用于关联单个测试运行的事件的 Guid。

持续集成检测

为了检测 .NET CLI 是否在持续集成环境中运行,.NET CLI 会探测常见 CI 提供程序设置的多个已知环境变量的存在和值。

下面显示了环境变量的完整列表及对其值的处理详细信息:

环境变量 提供程序 操作
APPVEYOR Appveyor 分析布尔值。
BUILD_IDBUILD_URL Jenkins 检查是否所有变量均存在且非 null。
BUILD_IDPROJECT_ID Google Cloud Build 检查是否所有变量均存在且非 null。
CI 许多/大多数 分析布尔值。
CIRCLECI Circle CI 分析布尔值。
CODEBUILD_BUILD_IDAWS_REGION Amazon Web Services CodeBuild 检查是否所有变量均存在且非 null。
GITHUB_ACTIONS GitHub 操作 分析布尔值。
JB_SPACE_API_URL JetBrains Space 检查是否存在且非 null。
TEAMCITY_VERSION TeamCity 检查是否存在且非 null。
TF_BUILD Azure Pipelines 分析布尔值。
TRAVIS Travis CI 分析布尔值。