Partilhar via


Telemetria

Esta funcionalidade requer o pacote NuGet Microsoft.Testing.Extensions.Telemetry .

Sugestão

Ao usar o Microsoft.Testing.Platform.MSBuild (incluído de forma transitiva pelos runners MSTest, NUnit e xUnit), esta extensão é registada automaticamente quando instala o pacote NuGet — não são necessárias alterações de código. O registo manual na secção seguinte só é obrigatório se desativar o ponto de entrada gerado automaticamente ao definir <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Registo 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 essas informações sejam apreciadas, você pode desativar a telemetria. Para obter mais informações sobre telemetria, consulte declaração de privacidade.

Tipos de dados de telemetria

Microsoft.Testing.Platform coleta apenas telemetria 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.

Desativar relatórios de telemetria

Para desativar 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 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 e-mail. Não analisa o teu código nem extrai dados ao nível do projeto, como repositório, ou autor, extrai o nome do teu executável e envia-o em formato hash.

Não extrai o conteúdo de quaisquer arquivos de dados acessados ou criados pelos seus aplicativos, despejos de memória ocupada pelos objetos dos seus aplicativos ou o conteúdo da área de transferência.

Os dados são enviados de forma segura para servidores Microsoft utilizando a tecnologia Azure Monitor, mantidos sob acesso restrito e publicados sob rigorosos controlos de segurança a partir de sistemas seguros do Azure Storage.

Proteger a sua privacidade é importante para a Microsoft! Se suspeitar que a telemetria está a recolher dados sensíveis ou que os dados estão a ser tratados de forma insegura ou inadequada, apresente uma questão 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
Tudo Versão do runtime .NET.
Tudo Modo de aplicação, como 'servidor'.
Tudo Contagem de novas tentativas de teste que falharam.
Tudo Contagem de tentativas de teste bem-sucedidas.
Tudo Contagem de testes que falharam.
Tudo Contagem de testes aprovados.
Tudo Contagem de testes que executaram.
Tudo O DisplayName das extensões que você está usando, como um valor hash.
Tudo Se a compilação de depuração da plataforma for usada, então.
Tudo Se o depurador estiver anexado ao processo.
Tudo Caso se tenha utilizado um filtro de testes.
Tudo Se o Hot reload estiver ativado.
Tudo Se o aplicativo falhou.
Tudo Se o aplicativo estiver sendo executado como NativeAOT.
Tudo Se o repositório for o nosso próprio. Com base na configuração telemetry:isDevelopmentRepository em testingplatformconfig.json.
Tudo Nome da estrutura de teste que você está usando, como um valor em hash.
Tudo Nome do seu executável (que normalmente é o mesmo nome do projeto), como valor de hash.
Tudo Sistema operacional, versão e arquitetura.
Tudo Arquitetura de processos.
Tudo Identificador de Tempo de Execução (RID). Para mais informações, consulte .NET RID Catalog.
Tudo O código de saída do aplicativo.
Tudo Três endereços IP de octeto usados para determinar a localização geográfica.
Tudo Carimbo de data/hora da invocação, carimbo de data/hora do início e do fim de várias etapas da execução.
Tudo Versão da plataforma.
Tudo Versão das suas extensões.
Tudo Versão do adaptador de teste.
Tudo Guia para correlacionar eventos de um único corredor.
1.0.3 GUID para correlacionar eventos de uma única execução de testes.

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

Para detetar se a CLI .NET está a correr num ambiente de integração contínua, a CLI .NET sonda a presença e os valores de várias variáveis de ambiente bem conhecidas definidas pelos fornecedores comuns de CI.

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

Variável(ões) de ambiente Fornecedor Ação
APPVEYOR Fornecedor Analisar valor booleano.
BUILD_ID, BUILD_URL Jenkins • Verifique se todos estão presentes e não são nulos.
BUILD_ID, PROJECT_ID Google Cloud Build Verifique se todos estão presentes e não são nulos.
CI Muitos/A maioria Analisar valor booleano.
CIRCLECI Círculo CI Analisar valor booleano.
CODEBUILD_BUILD_ID, AWS_REGION Serviço CodeBuild da Amazon Web Services Verifique se todos estão presentes e não são nulos.
GITHUB_ACTIONS GitHub Actions Analisar valor booleano.
JB_SPACE_API_URL Espaço JetBrains Verifique se está presente e se não é nulo.
TEAMCITY_VERSION TeamCity Verifique se está presente e se não é nulo.
TF_BUILD Azure Pipelines Analisar valor booleano.
TRAVIS Travis CI Analisar valor booleano.