Eventos ETW de método
Esses eventos coletam informações que são específicas para métodos. A carga desses eventos é necessária para resolução de símbolos. Além disso, esses eventos fornecem informações úteis, como o número de vezes que um método foi chamado.
Todos os eventos de método têm um nível de "Informativo (4)". Todos os eventos detalhados do método têm um nível de "Detalhado (5)".
Todos os eventos de método são gerados pela palavra-chave JITKeyword
(0x10) ou a palavra-chave NGenKeyword
(0x20) no provedor de runtime ou então JitRundownKeyword
(0x10) ou NGENRundownKeyword
(0x20) com o provedor de encerramento.
Eventos de método do CLR
A tabela a seguir mostra a palavra-chave e o nível. Para obter mais informações, consulte Palavras-chaves e níveis CLR ETW.
Palavra-chave para acionar o evento | Nível |
---|---|
Provedor de runtime JITKeyword (0x10) |
Informativo (4) |
Provedor de runtime NGenKeyword (0x20) |
Informativo (4) |
Provedor de encerramento JitRundownKeyword (0x10) |
Informativo (4) |
Provedor de encerramento NGENRundownKeyword (0x20) |
Informativo (4) |
A seguinte tabela mostra as informações do evento:
Evento | ID do evento | Descrição |
---|---|---|
MethodLoad_V1 |
136 | Gerado quando um método é carregado Just-In-Time (carregado via JIT) ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos não usam esta versão para carregamentos de método. Os auxiliares JIT nunca usam esta versão. |
MethodUnLoad_V1 |
137 | Gerado quando um módulo é descarregado ou um domínio do aplicativo é destruído. Métodos dinâmicos nunca usam essa versão para os descarregamentos de método. |
MethodDCStart_V1 |
137 | Enumera métodos durante um encerramento inicial. |
MethodDCEnd_V1 |
138 | Enumera métodos durante um encerramento final. |
A seguinte tabela mostra os dados do evento:
Nome do campo | Tipo de dados | Descrição |
---|---|---|
MethodID | win:UInt64 | Identificador exclusivo de um método. Para métodos auxiliares JIT, isso é definido para o endereço inicial do método. |
ModuleID | win:UInt64 | Identificador do módulo ao qual esse método pertence (0 para auxiliares JIT). |
MethodStartAddress | win:UInt64 | Endereço inicial do método. |
MethodSize | win:UInt32 | Tamanho do método. |
MethodToken | win:UInt32 | 0 para métodos dinâmicos e auxiliares JIT. |
MethodFlags | win:UInt32 | 0x1: método dinâmico. 0x2: método genérico. 0x4: método de código com compilação JIT (de outro modo, código de imagem nativa NGEN). 0x8: método auxiliar. |
ClrInstanceID | win:UInt16 | ID exclusiva da instância do CLR ou do CoreCLR. |
Eventos de marcador de método do CLR
Esses eventos são acionados apenas no provedor de encerramento. Eles significam o final de enumeração de método durante o encerramento inicial ou final. (Ou seja, eles são gerados quando a palavra-chave NGENRundownKeyword
, JitRundownKeyword
, LoaderRundownKeyword
ou AppDomainResourceManagementRundownKeyword
está habilitada.)
A seguinte tabela mostra a palavra-chave e o nível:
Palavra-chave para acionar o evento | Nível |
---|---|
Provedor de encerramento AppDomainResourceManagementRundownKeyword (0x800) |
Informativo (4) |
Provedor de encerramento JitRundownKeyword (0x10) |
Informativo (4) |
Provedor de encerramento NGENRundownKeyword (0x20) |
Informativo (4) |
A seguinte tabela mostra as informações do evento:
Evento | ID do evento | Descrição |
---|---|---|
DCStartInit_V1 |
147 | Enviado antes do início da enumeração durante um encerramento inicial. |
DCStartComplete_V1 |
145 | Enviado antes do término da enumeração durante um encerramento inicial. |
DCEndInit_V1 |
148 | Enviado antes do início da enumeração durante um encerramento final. |
DCEndComplete_V1 |
146 | Enviado antes do término da enumeração durante um encerramento final. |
A seguinte tabela mostra os dados do evento:
Nome do campo | Tipo de dados | Descrição |
---|---|---|
ClrInstanceID | win:UInt16 | ID exclusiva da instância do CLR ou do CoreCLR. |
Eventos detalhados de método do CLR
A seguinte tabela mostra a palavra-chave e o nível:
Palavra-chave para acionar o evento | Nível |
---|---|
Provedor de runtime JITKeyword (0x10) |
Detalhado (5) |
Provedor de runtime NGenKeyword (0x20) |
Detalhado (5) |
Provedor de encerramento JitRundownKeyword (0x10) |
Detalhado (5) |
Provedor de encerramento NGENRundownKeyword (0x20) |
Detalhado (5) |
A seguinte tabela mostra as informações do evento:
Evento | ID do evento | Descrição |
---|---|---|
MethodLoadVerbose_V1 |
143 | Gerado quando um método é carregado via JIT ou uma imagem NGEN é carregada. Métodos dinâmicos e genéricos sempre usam esta versão para carregamentos de método. Os auxiliares JIT sempre usam esta versão. |
MethodUnLoadVerbose_V1 |
144 | Gerado quando um método dinâmico é destruído, um módulo é descarregado ou um domínio do aplicativo é destruído. Métodos dinâmicos sempre usam essa versão para os descarregamentos de método. |
MethodDCStartVerbose_V1 |
141 | Enumera métodos durante um encerramento inicial. |
MethodDCEndVerbose_V1 |
142 | Enumera métodos durante um encerramento final. |
A seguinte tabela mostra os dados do evento:
Nome do campo | Tipo de dados | Descrição |
---|---|---|
MethodID | win:UInt64 | Identificador exclusivo do método. Para métodos auxiliares JIT, defina-o para o endereço inicial do método. |
ModuleID | win:UInt64 | Identificador do módulo ao qual esse método pertence (0 para auxiliares JIT). |
MethodStartAddress | win:UInt64 | O endereço inicial. |
MethodSize | win:UInt32 | O comprimento do método. |
MethodToken | win:UInt32 | 0 para métodos dinâmicos e auxiliares JIT. |
MethodFlags | win:UInt32 | 0x1: método dinâmico. 0x2: método genérico. 0x4: método com compilação JIT (de outro modo, gerado pelo NGen.exe) 0x8: método auxiliar. |
MethodNameSpace | win:UnicodeString | O nome completo do namespace associado ao método. |
MethodName | win:UnicodeString | O nome de classe completo associado ao método. |
MethodSignature | win:UnicodeString | Assinatura do método (lista separada por vírgulas de nomes de tipo). |
ClrInstanceID | win:UInt16 | ID exclusiva da instância do CLR ou do CoreCLR. |
Evento MethodJittingStarted
A seguinte tabela mostra a palavra-chave e o nível:
Palavra-chave para acionar o evento | Nível |
---|---|
Provedor de runtime JITKeyword (0x10) |
Detalhado (5) |
Provedor de runtime NGenKeyword (0x20) |
Detalhado (5) |
Provedor de encerramento JitRundownKeyword (0x10) |
Detalhado (5) |
Provedor de encerramento NGENRundownKeyword (0x20) |
Detalhado (5) |
A seguinte tabela mostra as informações do evento:
Evento | ID do evento | Descrição |
---|---|---|
MethodJittingStarted |
145 | Gerado quando um método está sendo compilado por JIT. |
A seguinte tabela mostra os dados do evento:
Nome do campo | Tipo de dados | Descrição |
---|---|---|
MethodID | win:UInt64 | Identificador exclusivo do método. |
ModuleID | win:UInt64 | Identificador do módulo ao qual esse método pertence. |
MethodToken | win:UInt32 | 0 para métodos dinâmicos e auxiliares JIT. |
MethodILSize | win:UInt32 | O tamanho da linguagem intermediária comum (CIL) para o método que está sendo compilado JIT. |
MethodNameSpace | win:UnicodeString | O nome de classe completo associado ao método. |
MethodName | win:UnicodeString | O nome do método. |
MethodSignature | win:UnicodeString | Assinatura do método (lista separada por vírgulas de nomes de tipo). |
ClrInstanceID | win:UInt16 | ID exclusiva da instância do CLR ou do CoreCLR. |