System.Diagnostics.Tracing.EventWrittenEventArgs 類別
本文提供此 API 參考文件的補充備註。
類別 EventWrittenEventArgs 會提供回 OnEventWritten 呼的數據。
每當事件分派至EventListener,則EventListener.OnEventWritten叫用回呼方法。 它會傳遞EventWrittenEventArgs
執行個體,包含事件相關聯的資訊。 所有的屬性值的EventWrittenEventArgs
類別在回呼期間才會有效。
下列各節包含個別的其他資訊EventWrittenEventArgs
屬性。
ActivityId 屬性
當使用System.Activities.Activity和其衍生的類別,執行緒可以標示為有與其相關聯的活動。 ActivityId
屬性會傳回記錄此事件之執行緒的活動識別碼。 注意執行緒不需要有活動,在此情況下,這個屬性會傳回Guid.Empty。
OSThreadId] 和 [時間戳記屬性
開始使用.NET Core 2.2EventListener物件可以訂閱 (例如 GC、 JIT,以及執行緒集區事件) 的原生執行階段事件,除了所發出的事件EventSource物件。 在舊版 .NET Core 和 .NET Framework 的所有版本中,線程標識碼和時間戳可以從環境收集,因為它們會以同步方式分派在發出它們的相同線程上。 並非所有的原生執行階段事件可分派以同步方式,不過。 管理時,會發出某些事件,例如 GC 事件,會暫停執行執行緒。 這些事件會在原生程式碼中進行緩衝處理,而且之後可以再次執行 managed 程式碼會由發送器執行緒,分派。 這些事件會進行緩衝處理,因為環境不能可靠地擷取的執行緒 ID 和時間戳記。 因為這個緣故,開頭為.NET Core 2.2,執行緒 ID 和時間戳記資訊會當作成員的EventWrittenEventArgs
類別。
RelatedActivityId 屬性
相關的活動是強式與目前的活動。 一般來說,這是造成目前活動的其中一個活動 (事件Start
opcode 通常這樣做) 或目前所建立的活動 (事件Send
opcode 通常這樣做)。 它使用時,RelatedActivityID
明確傳遞的執行記錄的方法。 許多事件未通過RelatedActivityId
,這個屬性會傳回在此情況下Guid.Empty。