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 とタイムスタンプは環境から収集できます。これは、スレッド ID とタイムスタンプが生成されたのと同じスレッドに同期的にディスパッチされるためです。 すべてのネイティブ ランタイム イベントがただしディスパッチする同期的には、ことができます。 管理されている場合に、GC イベントなど、一部のイベントが出力されるスレッドの実行を中断します。 これらのイベントは、ネイティブ コードでバッファーに格納され、マネージ コードがもう一度実行することができますとディスパッチャー スレッドがディスパッチされます。 これらのイベントがバッファーされるため、確実にスレッド ID とタイムスタンプを取得する環境を使用できません。 このため、.NET Core の 2.2 以降スレッドの ID とタイムスタンプ情報がのメンバーとして使用可能なEventWrittenEventArgs
クラス。
RelatedActivityId プロパティ
関連するアクティビティは、厳密に関連する現在のアクティビティです。 現在のアクティビティの原因となったか、アクティビティは通常、(イベントをStart
オペコードが通常はこれを行う) または現在の 1 つによって作成されたアクティビティ (イベントをSend
オペコードが通常はこれを行う)。 これを使用する場合、RelatedActivityID
は、ログ記録を行うメソッドによって明示的に渡されます。 多くのイベントを渡さない、 RelatedActivityId
、後者を返しますGuid.Emptyします。
.NET