Compartilhar via


Telemetria

Esse recurso requer o pacote NuGet Microsoft.Testing.Extensions.Telemetry .

Dica

Ao usar o Microsoft.Testing.Platform.MSBuild (incluído transitivamente por MSTest, NUnit e xUnit runners), essa extensão é registrada automaticamente quando você instala seu pacote NuGet , sem necessidade de alterações de código. O registro manual na seção a seguir só será necessário se você desabilitar o ponto de entrada gerado automaticamente definindo <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Registro manual

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddAppInsightsTelemetryProvider();

Microsoft.Testing.Platform coleta dados de telemetria, que são usados para ajudar a entender como melhorar o produto. Por exemplo, esses dados de uso ajudam a depurar problemas, como tempos de inicialização lentos e a priorizar novos recursos. Embora esses insights sejam valorizados, você pode desabilitar a telemetria. Para obter mais informações sobre telemetria, consulte política de privacidade.

Tipos de dados de telemetria

Microsoft.Testing.Platform coleta apenas dados telemétricos do tipo Dados de Uso. Os dados de uso são usados para entender como os recursos são consumidos e onde o tempo é gasto ao executar o aplicativo de teste. Isso ajuda a priorizar melhorias no produto.

Desabilitar relatórios de telemetria

Para desabilitar a telemetria, defina a variável de ambiente TESTINGPLATFORM_TELEMETRY_OPTOUT ou DOTNET_CLI_TELEMETRY_OPTOUT para 1.

Divulgação

Microsoft.Testing.Platform exibe texto semelhante ao seguinte quando você executa o executável pela primeira vez. O texto de saída pode variar ligeiramente dependendo da versão Microsoft.Testing.Platform que você está executando. Essa experiência de "primeira execução" é como a Microsoft notifica você sobre a coleta de dados.

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

Pontos de dados

O recurso de telemetria não coleta dados pessoais, como nomes de usuário ou endereços de email. Ele não verifica seu código e não extrai dados de nível de projeto, como repositório ou autor, extrai o nome do executável e o envia no formato hash.

Ele não extrai o conteúdo de nenhum arquivo de dados acessado ou criado por seus aplicativos, despejos de qualquer memória ocupada por objetos de seus aplicativos ou o conteúdo da área de transferência.

Os dados são enviados com segurança aos servidores da Microsoft usando a tecnologia Azure Monitor, mantidos sob acesso restrito e publicados sob rígidos controles de segurança de sistemas seguros de Azure Storage.

Proteger sua privacidade é importante para a Microsoft! Se você suspeitar que a telemetria está coletando dados confidenciais ou se os dados estão sendo manipulados de forma insegura ou inadequada, registre um problema no repositório microsoft/testfx GitHub ou envie um email para dotnet@microsoft.com para investigação.

O recurso de telemetria coleta os seguintes pontos de dados:

Versão Dados
Todos versão do .NET Runtime.
Todos Modo de aplicativo, como "servidor".
Todos Contagem de repetições de teste que falharam.
Todos Contagem de tentativas de teste que passaram.
Todos Contagem de testes que falharam.
Todos Contagem de testes aprovados.
Todos Contagem de testes executados.
Todos O DisplayName das extensões que você está usando, como um valor de hash.
Todos Se o build de depuração da plataforma for usado.
Todos Se o depurador foi anexado ao processo.
Todos Se o filtro de testes foi usado.
Todos Se Hot Reload estiver habilitado.
Todos Se o aplicativo falhou.
Todos Se o aplicativo estiver em execução como NativeAOT.
Todos Se o repositório for nosso próprio repositório. Com base na configuração telemetry:isDevelopmentRepository em testingplatformconfig.json.
Todos Nome da estrutura de teste que você está usando, como um valor de hash.
Todos Nome do executável (que geralmente é o mesmo que o nome do projeto), como um valor em hash.
Todos Sistema operacional, versão e arquitetura.
Todos Arquitetura do processo.
Todos ID de runtime (RID). Para obter mais informações, consulte .NET Catálogo RID.
Todos O código de saída do aplicativo.
Todos Três endereços IP de octeto usados para determinar a localização geográfica.
Todos Carimbo de data/hora de invocação, carimbo de data/hora de início e fim de várias etapas na execução.
Todos Versão da plataforma.
Todos Versão de suas extensões.
Todos Versão do adaptador de teste.
Todos GUID para correlacionar eventos de um único executor.
1.0.3 Guia para a correlação de eventos de uma única execução de teste.

Detecção de integração contínua

Para detectar se a CLI .NET está em execução em um ambiente de integração contínua, a CLI .NET investiga a presença e os valores de várias variáveis de ambiente conhecidas definidas pelos provedores de CI comuns.

A lista completa de variáveis de ambiente e o que é feito com seus valores é detalhada na tabela a seguir:

Variáveis de ambiente Provedor Ação
APPVEYOR Appveyor Analisar o valor booliano.
BUILD_ID, BUILD_URL Jenkins Verificar se todos estão presentes e são não nulos.
BUILD_ID, PROJECT_ID Google Cloud Build (plataforma de construção de nuvem) Verificar se todos estão presentes e são não nulos.
CI Muitos/Mais Analisar o valor booliano.
CIRCLECI CircleCI Analisar o valor booliano.
CODEBUILD_BUILD_ID, AWS_REGION Amazon Web Services (AWS) CodeBuild Verificar se todos estão presentes e são não nulos.
GITHUB_ACTIONS GitHub Actions Analisar o valor booliano.
JB_SPACE_API_URL Espaço JetBrains Verificar se está presente e é não nulo.
TEAMCITY_VERSION TeamCity Verificar se está presente e é não nulo.
TF_BUILD Azure Pipelines Analisar o valor booliano.
TRAVIS Travis CI Analisar o valor booliano.