Microsoft.Testing.Platform 遥测

Microsoft.Testing.Platform 收集遥测数据,这些数据用于帮助了解如何改进产品。 例如,此使用情况数据有助于调试问题,例如启动时间缓慢,并确定新功能的优先级。 虽然这些见解令人赞赏,但你可以自主地 禁用遥测。 有关遥测的详细信息,请参阅 隐私声明

遥测数据的类型

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

禁用遥测报告

若要禁用遥测,请将任一 TESTINGPLATFORM_TELEMETRY_OPTOUT 变量或 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1.

公开

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

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

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

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

持续集成检测

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

下表详细介绍了环境变量的完整列表及其值。

环境变量 提供者 行动
APPVEYOR Appveyor 解析布尔值。
BUILD_IDBUILD_URL 詹金斯 检查是否所有项都存在并且不是空值。
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(Azure 管道服务) 解析布尔值。
TRAVIS Travis CI 解析布尔值。