Microsoft.Testing.Platform 遥测
Microsoft.Testing.Platform
会收集遥测数据,用于帮助了解如何改进产品。 例如,此使用情况数据有助于调试问题(例如启动时间缓慢)和确定新功能的优先级。 虽然这些见解很受欢迎,但你可随时禁用遥测。 有关遥测的详细信息,请参阅隐私声明。
遥测数据的类型
Microsoft.Testing.Platform
仅收集使用情况数据类型的遥测数据。 可通过使用情况数据了解各个功能的使用方式,以及执行测试应用的耗时情况。 这有助于确定产品改进的优先级。
禁用遥测报告
若要禁用遥测,请将 TESTINGPLATFORM_TELEMETRY_OPTOUT
或 DOTNET_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_ID ,BUILD_URL |
Jenkins | 检查是否所有变量均存在且非 null。 |
BUILD_ID ,PROJECT_ID |
Google Cloud Build | 检查是否所有变量均存在且非 null。 |
CI |
许多/大多数 | 分析布尔值。 |
CIRCLECI |
Circle CI | 分析布尔值。 |
CODEBUILD_BUILD_ID ,AWS_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 | 分析布尔值。 |