Eventos de contenção do runtime do .NET
Estes eventos de runtime capturam informações sobre as disputas de bloqueio de monitorização, como com Monitor.Enter
ou a palavra-chave de bloqueio C#. Para obter mais informações sobre como utilizar estes eventos para fins de diagnóstico, veja Registar e rastrear aplicações .NET
ContentionStart_V2 evento
Este evento é emitido no início de uma disputa de bloqueio do monitor.
Palavra-chave para criar o evento | Level |
---|---|
ContentionKeyword (0x4000) |
Informativo (4) |
A tabela seguinte mostra as informações do evento.
Evento | ID do Evento | Gerado quando |
---|---|---|
ContentionStart_V2 |
81 | É iniciada uma disputa de bloqueio do monitor. |
Nome do campo | Tipo de dados | Descrição |
---|---|---|
Flags |
win:UInt8 |
0 para gerido; 1 para nativo. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
LockObjectID |
win:Pointer |
Endereço do objeto de bloqueio. |
LockOwnerThreadID |
win:Pointer |
Endereço do thread que é o proprietário do bloqueio. |
ContentionStop_V1 evento
Este evento é emitido no final de uma disputa de bloqueio do monitor.
Palavra-chave para criar o evento | Level |
---|---|
ContentionKeyword (0x4000) |
Informativo (4) |
A tabela seguinte mostra as informações do evento.
Evento | ID do Evento | Gerado quando |
---|---|---|
ContentionStop_V1 |
91 | Termina uma contenção de bloqueio do monitor. |
Nome do campo | Tipo de dados | Descrição |
---|---|---|
Flags |
win:UInt8 |
0 para gerido; 1 para nativo. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
DurationNs |
win:Double |
Duração da contenção em nanossegundos. |
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.