System.Diagnostics.Tracing.EventWrittenEventArgs classe
Este artigo fornece observações complementares à documentação de referência para essa API.
A EventWrittenEventArgs classe fornece dados para o retorno de OnEventWritten chamada.
Sempre que um evento é enviado para um EventListener, o EventListener.OnEventWritten método de retorno de chamada é invocado. Ele é passado um EventWrittenEventArgs
instância que contém informações associadas ao evento. Todos os valores de propriedade do EventWrittenEventArgs
classe são válidos apenas durante o retorno de chamada.
As seções a seguir contêm informações adicionais sobre o indivíduo EventWrittenEventArgs
propriedades.
Propriedade ActivityId
Ao usar System.Activities.Activity e suas classes derivadas, threads podem ser marcados como tendo uma atividade associada a eles. O ActivityId
propriedade retorna a ID de atividade do thread que registrou o evento. Observe que threads não é necessário ter uma atividade, além nesse caso, essa propriedade retorna Guid.Empty.
Propriedades OSThreadId e carimbo de data
Começando com o .NET Core 2.2 EventListener objetos podem assinar eventos de runtime nativo (como eventos de threadpool, JIT e GC), além de eventos emitidos pelo EventSource objetos. Em versões anteriores do .NET Core e em todas as versões do .NET Framework, a ID do thread e o carimbo de data/hora podem ser coletados do ambiente, pois são despachados de forma síncrona no mesmo thread que os emitiu. Nem todos os eventos de runtime nativo poderá ser enviados de forma síncrona, no entanto. Alguns eventos, como eventos de GC, são emitidos quando gerenciado a execução do thread é suspenso. Esses eventos são armazenados em buffer no código nativo e são expedidos por um thread dispatcher depois que o código gerenciado pode ser executado novamente. Porque esses eventos são armazenados em buffer, o ambiente não pode ser usado para recuperar de forma confiável a ID do thread e o carimbo de hora. Por isso, a partir do .NET Core 2.2, ID do thread e informações de carimbo de hora estão disponíveis como membros do EventWrittenEventArgs
classe.
Propriedade RelatedActivityId
Uma atividade relacionada é uma atividade que está fortemente relacionada ao atual. Normalmente, é qualquer atividade que causou a atividade atual (eventos com o Start
opcode normalmente faz isso) ou uma atividade que foi criada pelo atual (eventos com o Send
opcode normalmente faz isso). Quando ele é usado, o RelatedActivityID
é passado explicitamente pelo método fazendo o registro em log. Muitos eventos não passam um RelatedActivityId
, caso em que essa propriedade retornará Guid.Empty.