Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Usando a caixa de diálogo Configurações Avançadas no Visualizador de Concorrência, você pode controlar como os rastreamentos são coletados. A caixa de diálogo tem guias para símbolos, Just My Code, bufferização, filtragem, eventos CLR, marcadores, provedores e arquivos.
Símbolos
O Visualizador de Concorrência usa as mesmas configurações de símbolo que o Depurador do Visual Studio. O Visualizador de Concurrency usa as configurações para resolver pilhas de chamadas associadas a dados de desempenho. Quando processa rastreamentos, o Concurrency Visualizer acessa os servidores de símbolo especificados na página de configurações. Quando esses dados são acessados em uma rede, o processamento de rastreamento diminui. Para reduzir o tempo necessário para resolver símbolos, você pode armazenar símbolos em cache localmente. Se os símbolos tiverem sido baixados, o Visual Studio os carregará do cache local.
Apenas Meu Código
Por padrão, Just My Code é o conjunto de . exe e . arquivos dll associados à solução atual no Visual Studio. A Visualização Simultânea avalia esse conjunto de arquivos quando você usa o recurso Just My Code para filtrar pilhas de chamadas. Na guia Just My Code, você pode adicionar diretórios que contêm . exe e . dll arquivos para os locais que o Visualizador simultâneo usa para Just My Code.
Os caminhos dos arquivos .exe e .dll são armazenados no arquivo de rastreamento quando o rastreamento é coletado. Alterar essa configuração não afeta as coletas de rastreamento feitas anteriormente.
Bufferização
O Visualizador de Concorrência usa o ETW (Rastreamento de Eventos para Windows) quando coleta um rastreamento. O ETW usa vários buffers à medida que armazena eventos. As configurações de buffer ETW padrão podem não ser ideais em todos os casos e, em alguns casos, podem causar problemas como eventos perdidos. Você pode usar a guia Buffer para definir as configurações do buffer ETW. Para obter mais informações, consulte Rastreamento de Eventos e estrutura de EVENT_TRACE_PROPERTIES.
Filter
Na guia Filtro, você pode selecionar o conjunto de eventos que o Visualizador de Concorrência coleta. Selecionar um subconjunto de eventos limita os tipos de dados exibidos nos relatórios, reduz o tamanho de cada rastreamento e reduz o tempo necessário para processar rastreamentos.
Eventos CLR
Os eventos gerados pelo CLR (Common Language Runtime) permitem que o Visualizador simultâneo resolva pilhas de chamadas gerenciadas. Se você desabilitar a coleta de eventos CLR, o tamanho do rastreamento será reduzido, mas algumas pilhas de chamadas não serão resolvidas. Como resultado, alguma atividade de thread de CPU pode ser categorizada incorretamente.
Coletar para processos nativos
Por padrão, os eventos CLR são coletados somente quando um processo gerenciado é perfilado porque normalmente são desnecessários para processos nativos. Em alguns casos (por exemplo, quando um processo nativo está hospedando o CLR), talvez seja necessário coletar eventos CLR para um processo nativo. Nesse caso, marque a caixa de seleção Coletar para Processos Nativos.
Desativar eventos de encerramento
O CLR gera eventos a partir de dois provedores: runtime e rundown. Se você quiser coletar eventos do CLR Runtime, mas evitar coletar eventos de Rundown, marque a caixa de seleção Desabilitar Eventos de Rundown. Isso reduz o tamanho do arquivo de rastreamento gerado pela coleção, mas algumas pilhas podem não ser resolvidas. Para obter mais informações, consulte Provedores CLR ETW.
Eventos de exemplo
Você pode usar eventos amostrais para coletar pilhas de chamadas associadas à execução de thread. Esses eventos são coletados aproximadamente uma vez por milissegundo para threads que estão sendo executados no processo atual. Se você desabilitar a coleta de eventos amostrais, o tamanho do rastreamento coletado será reduzido, mas você não poderá visualizar nenhuma pilha de chamadas associada à execução do segmento.
Eventos de GPU
Eventos de GPU são eventos gerados pelo DirectX. Se você desabilitar a coleta de eventos de GPU, o tamanho do rastreamento coletado será reduzido, mas você não poderá exibir nenhuma Atividade de GPU na visualização de utilização, ou atividade do Mecanismo DirectX na visualização de threads.
Eventos de E/S de arquivo
Os eventos de E/S do arquivo representam acessos ao disco em nome do processo atual. Se você desabilitar eventos de E/S de Arquivo, o tamanho do rastreamento será reduzido, mas a Visualização de Threads não relatará nenhuma informação sobre canais de disco ou operações de disco.
Marcadores
Na guia Marcadores, você pode configurar o conjunto de provedores ETW que são mostrados como Marcadores no Visualizador de Concorrência. Você também pode filtrar a coleção Marker com base no nível de importância e na categoria ETW. Se você estiver usando o SDK do Visualizador de Concorrência e estiver usando seu próprio provedor de Marcadores, poderá registrá-lo aqui para que ele apareça na Visualização de Threads.
Adicionar um novo provedor
Se o código usar o SDK do Visualizador simultâneo ou gerar eventos ETW que seguem a EventSource convenção, você poderá exibir esses eventos no Visualizador simultâneo registrando-os nesta caixa de diálogo.
No campo Nome , insira um nome que descreva os tipos de eventos gerados pelo provedor. No campo GUID , insira o GUID associado a esse provedor. (Um GUID está associado a todos os provedores ETW.)
Opcionalmente, você pode especificar se deseja filtrar eventos desse provedor, com base no nível de categoria ou importância. Você pode usar o campo de categoria para filtrar com base nas categorias do Concurrency Visualizer SDK. Para fazer isso, insira uma cadeia de caracteres delimitada por vírgulas de categorias ou intervalos de categorias. Isso especifica as categorias de eventos no provedor atual a serem mostrados. Se você estiver adicionando um EventSource provedor, poderá usar o campo de categoria para filtrar pela palavra-chave ETW. Como a palavra-chave é uma máscara de bits, você pode usar uma cadeia de caracteres delimitada por vírgulas de inteiros para especificar quais bits na máscara estão definidos. Por exemplo, "1,2" define o primeiro e o segundo bits e isso se traduz em 6 em decimais.
Você pode usar a lista de nível de importância para filtrar eventos que têm uma importância ou um nível ETW menor que o valor especificado.
Configurar um provedor existente
Para editar as configurações associadas a um provedor existente, selecione-a na lista e escolha o botão Editar provedor . Você pode alterar o nome, o GUID e as configurações de filtragem.
Filtrar dados de marcadores dos relatórios do Concurrency Visualizer
Se você não quiser que os dados de um provedor específico apareçam em rastreamentos futuros, desmarque a caixa de seleção ao lado do provedor que você deseja remover.
Arquivos
Na guia Arquivos , você pode especificar o diretório no qual os arquivos de rastreamento são armazenados sempre que um rastreamento é coletado. O Visualizador de Concurrency gera quatro arquivos para cada rastreamento capturado:
Um arquivo ETL (log de rastreamento de eventos) no modo kernel (.kernel.etl*)
Um arquivo de log de rastreamento de eventos no modo de usuário (.user.etl*)
Um arquivo de dados do Concurrency Visualizer (.CVData*)
Um arquivo de rastreamento do Visualizador de Concorrência (.CVTrace*)
Os dois arquivos ETL armazenam os dados de rastreamento brutos e os dois arquivos do Visualizador simultâneo armazenam os dados processados. Os arquivos ETL brutos normalmente não são usados depois que um registro de rastreamento é processado. Selecionar a caixa de seleção Excluir arquivos de log de rastreamento de eventos (ETL) após a análise reduz a quantidade de dados de rastreamento armazenados em seu disco.