CLR ETW Keywords and Levels
O rastreio de eventos para eventos do Windows (ETW) pode ser filtrado por categoria e nível. As Palavras-chave CLR ETW do Evento permitem a filtragem de eventos por categoria; são utilizadas em combinações para os fornecedores de runtime e rundown. Os níveis de evento são identificados por sinalizadores.
Palavras-chave do CLR ETW
As palavras-chave são sinalizadores que podem ser combinados para gerar valores. Na prática, utiliza os valores hexadecimais das palavras-chave em vez dos nomes de palavras-chave quando chama os utilitários da linha de comandos.
As palavras-chave estão descritas nas seguintes tabelas:
Combinações de palavras-chave para resolução de símbolos para o fornecedor de runtime
Combinações de palavras-chave para a resolução de símbolos para o fornecedor de rundown
Palavras-chave do Runtime do CLR ETW
A tabela seguinte lista as palavras-chave de runtime do CLR ETW, os respetivos valores e para que servem.
Nome da palavra-chave do runtime | Valor | Objetivo |
---|---|---|
GCKeyword |
0x00000001 | Ativa a recolha de eventos de recolha de lixo. |
LoaderKeyword |
0x00000008 | Ativa a coleção de eventos do carregador. |
JITKeyword |
0x00000010 | Ativa a coleção de eventos just-in-time (JIT). |
NGenKeyword |
0x00000020 | Ativa a coleção de eventos para métodos de imagem nativos (métodos processados pelo Gerador de Imagens Nativas, Ngen.exe); utilizados com StartEnumerationKeyword e EndEnumerationKeyword . Esta palavra-chave tem uma sobrecarga elevada. Gera eventos para cada método dentro de cada módulo NGen carregado. Sempre que possível, em vez de utilizar esta palavra-chave, recomendamos que utilize as bases de dados do programa (PDBs) geradas pelas ferramentas de criação de perfis para obter informações sobre métodos de módulos NGen. Consulte também OverrideAndSuppressNGenEventsKeyword mais tarde nesta tabela. |
StartEnumerationKeyword |
0x00000040 | Ativa a enumeração de todos os métodos no runtime; utilizado em conjunto com NGenKeyword . |
EndEnumerationKeyword |
0x00000080 | Permite a enumeração de todos os métodos destruídos no runtime; utilizado em conjunto com JITKeyword e NGenKeyword . |
SecurityKeyword |
0x00000400 | Ativa a recolha de eventos de segurança. |
AppDomainResourceManagementKeyword |
0x00000800 | Ativa a coleção de eventos de monitorização de recursos ao nível do domínio da aplicação. |
JITTracingKeyword |
0x00001000 | Ativa a coleção de eventos de rastreio JIT. |
InteropKeyword |
0x00002000 | Ativa a coleção de eventos interop. |
ContentionKeyword |
0x00004000 | Ativa a coleção de eventos de contenção. |
ExceptionKeyword |
0x00008000 | Ativa a coleção de eventos de exceção. |
ThreadingKeyword |
0x00010000 | Ativa a coleção de eventos do conjunto de threads. |
OverrideAndSuppressNGenEventsKeyword |
0x00040000 | (Disponível no .NET Framework 4.5 e posterior.) Suprime a palavra-chave de NGenKeyword sobrecarga elevada e impede a geração de eventos para métodos que estão dentro dos módulos NGen. A partir da .NET Framework 4.5, as ferramentas de criação de perfis devem ser utilizadas OverrideAndSuppressNGenEventsKeyword e NGenKeyword em conjunto para suprimir a geração de eventos para métodos em módulos NGen. Isto permite que a ferramenta de criação de perfis utilize os PDBs NGen mais eficientes para obter informações sobre métodos nos módulos NGen. O CLR no .NET Framework 4 e versões anteriores não suporta a criação de PDBs NGen. Nestas versões anteriores, o CLR não reconhecerá OverrideAndSuppressNGenEventsKeyword e processará NGenKeyword para gerar eventos para métodos em módulos NGen. |
PerfTrackKeyWord |
0x2000000 | Ativa a coleção dos ModuleLoad eventos e ModuleRange . |
StackKeyword |
0x40000000 | Ativa a coleção de eventos de rastreio de pilha CLR. |
Palavras-chave de Resumo do CLR ETW
A tabela seguinte lista as palavras-chave de resumo do CLR ETW, os respetivos valores e para que servem.
Nome da palavra-chave de resumo | Valor | Objetivo |
---|---|---|
LoaderRundownKeyword |
0x00000008 | Ativa a coleção de eventos do carregador quando utilizado com StartRundownKeyword e EndRundownKeyword . |
JitRundownKeyword |
0x00000010 | Ativa a coleção de métodos DCStart e DCEnd eventos para métodos compilados pelo JIT quando utilizados com StartRundownKeyword e EndRundownKeyword . |
NGenRundownKeyword |
0x00000020 | Ativa a coleção de métodos DCStart e DCEnd eventos para métodos de imagem nativos NGen quando utilizados com StartRundownKeyword e EndRundownKeyword . Esta palavra-chave tem uma sobrecarga elevada. Gera eventos para cada método dentro de cada módulo NGen carregado. Sempre que possível, em vez de utilizar esta palavra-chave, recomendamos que utilize as bases de dados do programa (PDBs) geradas pelas ferramentas de criação de perfis para obter informações sobre métodos de módulos NGen. Consulte também OverrideAndSuppressNGenEventsRundownKeyword mais tarde nesta tabela. |
StartRundownKeyword |
0x00000040 | Ativa a enumeração do estado do sistema durante um resumo de início. |
EndRundownKeyword |
0x00000100 | Ativa a enumeração do estado do sistema durante um resumo final. |
AppDomainResourceManagementRundownKeyword |
0x00000800 | Ativa a coleção de eventos para monitorização de recursos a um AppDomain nível quando utilizado com StartRundownKeyword ou EndRundownKeyword . |
ThreadingKeyword |
0x00010000 | Ativa a coleção de eventos do conjunto de threads. |
OverrideAndSuppressNGenEventsRundownKeyword |
0x00040000 | (Disponível no .NET Framework 4.5 e posterior.) Suprime a palavra-chave de NGenRundownKeyword sobrecarga elevada e impede a geração de eventos para métodos que estão dentro dos módulos NGen. A partir da .NET Framework 4.5, as ferramentas de criação de perfis devem ser utilizadas OverrideAndSuppressNGenEventsRundownKeyword e NGenRundownKeyword em conjunto para suprimir a geração de eventos para métodos em módulos NGen. Isto permite que a ferramenta de criação de perfis utilize os PDBs NGen mais eficientes para obter informações sobre métodos nos módulos NGen. O CLR no .NET Framework 4 e versões anteriores não suporta a criação de PDBs NGen. Nestas versões anteriores, o CLR não reconhecerá OverrideAndSuppressNGenEventsRundownKeyword e processará NGenRundownKeyword para gerar eventos para métodos em módulos NGen. |
PerfTrackKeyWord |
0x2000000 | Ativa a coleção dos ModuleDCStart eventos , ModuleDCEnd , ModuleRangeDCStart e ModuleRangeDCEnd . |
Combinações de Palavras-chave para Resolução de Símbolos para o Fornecedor de Runtime
Palavras-chave e sinalizadores | Domínio da aplicação, assemblagem, eventos de carregamento/descarregamento de módulos | Eventos de carregamento/descarregamento do método (exceto eventos dinâmicos) | Eventos de carregamento/destruição do método dinâmico |
---|---|---|---|
LoaderKeyword |
Carregar e descarregar eventos. | Nenhum. | Nenhum. |
JITKeyword (+ StartEnumerationKeyword não adiciona nada) |
Nenhum. | Carregar eventos. | Carregar e descarregar eventos. |
JITKeyword +EndEnumerationKeyword |
Nenhum. | Carregar e descarregar eventos. | Carregar e descarregar eventos. |
NGenKeyword |
Nenhum. | Nenhum. | Não aplicável. |
NGenKeyword +StartEnumerationKeyword |
Nenhum. | Carregar eventos. | Não aplicável. |
NGenKeyword +EndEnumerationKeyword |
Nenhum. | Descarregar eventos. | Não aplicável. |
Combinações de Palavras-chave para Resolução de Símbolos para o Fornecedor de Rundown
Palavras-chave e sinalizadores | Eventos DCStart/DCEnd do domínio da aplicação, assemblagem, módulo | Método DCStart/EVENTOS DCEnd (incluindo eventos de método dinâmico) |
---|---|---|
LoaderRundownKeyword +StartRundownKeyword |
DCStart eventos. |
Nenhum. |
LoaderRundownKeyword +EndRundownKeyword |
DCEnd eventos. |
Nenhum. |
JITKeyword +StartRundownKeyword |
Nenhum. | DCStart eventos. |
JITKeyword +EndRundownKeyword |
Nenhum. | DCEnd eventos. |
NGenKeyword +StartRundownKeyword |
Nenhum. | DCStart eventos. |
NGenKeyword +EndRundownKeyword |
Nenhum. | DCEnd eventos. |
Níveis de Evento etw
Os eventos ETW também podem ser filtrados por nível. Se o nível estiver definido em 0x5, são gerados eventos de todos os níveis, incluindo 0x5 e abaixo (que são eventos que pertencem a categorias ativadas através de palavras-chave). Se o nível for definido em 0x2, apenas os eventos que pertencem ao nível 0x2 e abaixo são aumentados.
Os níveis têm os seguintes significados:
0x5 - Verboso
0x4 - Informativo
0x3 - Aviso
0x2 - Erro
0x1 - Crítico
0x0 - LogAlways