System.Diagnostics.Tracing.EventWrittenEventArgs 类
本文提供了此 API 参考文档的补充说明。
该 EventWrittenEventArgs 类为回调提供数据 OnEventWritten 。
每当事件调度到EventListener,则EventListener.OnEventWritten调用回调方法。 它传递EventWrittenEventArgs
实例,它包含与事件相关联的信息。 所有属性值的EventWrittenEventArgs
类仅在回调过程都有效。
以下各节包含有关个人的其他信息EventWrittenEventArgs
属性。
ActivityId 属性
当使用System.Activities.Activity和及其派生的类,线程可以标记为具有与之关联的活动。 ActivityId
属性返回的记录事件的线程的活动 ID。 注意,线程不需要具有一项活动,在这种情况下此属性返回Guid.Empty。
OSThreadId 和时间戳属性
从.NET Core 2.2 开始EventListener对象可以订阅本机运行时事件 (例如 GC、 JIT 和线程池事件) 发出的事件除了EventSource对象。 在早期版本的 .NET Core 和 .NET Framework 的所有版本中,可以从环境中收集线程 ID 和时间戳,因为它们在发出它们的同一线程上同步调度。 并非所有的本机运行时事件,就无法调度同步,但是。 托管时发出一些事件,如 GC 事件挂起线程执行。 这些事件在本机代码中进行缓冲和调度由调度程序线程可以再次执行托管的代码后。 因为这些事件进行缓冲,环境不能用于可靠地检索的线程 ID 和时间戳。 因此,从.NET Core 2.2 开始线程 ID 和时间戳信息都可用作成员EventWrittenEventArgs
类。
RelatedActivityId 属性
相关的活动是与当前紧密相关的活动。 通常情况下,它是导致当前活动的这两种活动 (具有事件Start
操作码通常执行此操作) 或已通过当前的活动 (具有事件Send
操作码通常执行此操作)。 使用它时,RelatedActivityID
显式传递由执行日志记录的方法。 许多事件都不传递RelatedActivityId
,在这种情况下此属性返回Guid.Empty。