Clase System.Diagnostics.Tracing.EventWrittenEventArgs

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

La EventWrittenEventArgs clase proporciona datos para la devolución de OnEventWritten llamada.

Cada vez que se envía un evento a un EventListener, el EventListener.OnEventWritten se invoca el método de devolución de llamada. Se pasa un EventWrittenEventArgs instancia que contiene información asociada al evento. Todos los valores de propiedad de la EventWrittenEventArgs clase son válidos solo durante la devolución de llamada.

Las secciones siguientes contienen información adicional sobre el individuo EventWrittenEventArgs propiedades.

Propiedad ActivityId

Cuando se usa System.Activities.Activity y sus clases derivadas, subprocesos pueden marcarse como si tuviera una actividad asociada con ellos. El ActivityId propiedad devuelve el identificador de actividad del subproceso que registró el evento. Observe que los subprocesos no debe tener una actividad, en cuyo caso esta propiedad devuelve Guid.Empty.

Propiedades OSThreadId y marca de tiempo

A partir de .NET Core 2.2, EventListener objetos pueden suscribirse a eventos en tiempo de ejecución nativo (por ejemplo, eventos de grupo de subprocesos, JIT y GC) además de los eventos emitidos por EventSource objetos. En versiones anteriores de .NET Core y todas las versiones de .NET Framework, el identificador de subproceso y la marca de tiempo se pueden recopilar del entorno, ya que se envían sincrónicamente en el mismo subproceso que los emitió. No todos los eventos en tiempo de ejecución nativo pueden enviarse de forma sincrónica, sin embargo. Algunos eventos, tales como eventos de GC, se emiten cuando administrado se suspende la ejecución de subprocesos. Estos eventos se almacenan en búfer en código nativo y se envían por un subproceso de distribuidor una vez que el código administrado puede ejecutar de nuevo. Dado que estos eventos se almacenan en búfer, el entorno no se puede usar para recuperar de forma confiable el Id. de subproceso y la marca de tiempo. Por este motivo, a partir de .NET Core 2.2, de Id. de subproceso y la información de marca de tiempo están disponibles como miembros de la EventWrittenEventArgs clase.

Propiedad RelatedActivityId

Una actividad relacionada es una actividad que está muy relacionada con el actual. Por lo general, ya sea la actividad que produjo la actividad actual es (eventos con el Start opcode normalmente lo hace) o una actividad que se creó por la actual (los eventos con el Send opcode normalmente lo hace). Cuando se usa el RelatedActivityID se pasa explícitamente por el método que realiza el registro. Muchos eventos no pasan un RelatedActivityId, en cuyo caso esta propiedad devuelve Guid.Empty.