次の方法で共有


.NET ランタイム スレッド プール イベント

この記事で説明するイベントは、スレッド プール内のワーカー スレッドと I/O スレッドに関する情報を収集します。 これらのイベントを診断目的で使用する方法の詳細については、「.NET アプリケーションのログ記録とトレース を参照してください。

IOThreadCreate_V1 イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 発生日時
IOThreadCreate_V1 44 I/O スレッドがスレッド プールに作成されます。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Count win:UInt64 新しく作成されたスレッドを含む I/O スレッドの数。
NumRetired win:UInt64 インベントリから削除されたワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

IOThreadTerminate_V1 イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 発生日時
IOThreadTerminate 45 I/O スレッドはスレッド プールで終了します。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Count win:UInt64 スレッド プールに残っている I/O スレッドの数。
NumRetired win:UInt64 廃止された I/O スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

IOThreadRetire_V1 イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 発生日時
IOThreadRetire_V1 46 I/O スレッドが廃止候補になります。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Count win:UInt64 スレッド プールに残っている I/O スレッドの数。
NumRetired win:UInt64 廃止された I/O スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

IOThreadUnretire_V1 イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 発生日時
IOThreadUnretire_V1 47 I/O スレッドがリタイア候補になった後、待機期間内に到着した I/O が原因で、I/O スレッドがリタイアされません。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Count win:UInt64 スレッド プール内の I/O スレッドの数 (このスレッドを含む)。
NumRetired win:UInt64 廃止された I/O スレッドの数。
ClrInstanceID Win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadStart イベント

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)
出来事 イベント ID 形容
ThreadPoolWorkerThreadStart 50 ワーカー スレッドが作成されます。
フィールド名 データ型 形容
ActiveWorkerThreadCount win:UInt32 既に処理されている作業を含む、作業の処理に使用できるワーカー スレッドの数。
RetiredWorkerThreadCount win:UInt32 作業を処理するために使用できないが、後でさらにスレッドが必要になった場合に備えて予約されているワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadStop イベント

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)
出来事 イベント ID 形容
ThreadPoolWorkerThreadStop 51 ワーカー スレッドが停止しています。
フィールド名 データ型 形容
ActiveWorkerThreadCount win:UInt32 既に処理されている作業を含む、作業の処理に使用できるワーカー スレッドの数。
RetiredWorkerThreadCount win:UInt32 作業を処理するために使用できないが、後でさらにスレッドが必要になった場合に備えて予約されているワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadWait イベント

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)
出来事 イベント ID 形容
ThreadPoolWorkerThreadWait 57 ワーカー スレッドが作業の待機を開始します。
フィールド名 データ型 形容
ActiveWorkerThreadCount win:UInt32 既に処理されている作業を含む、作業の処理に使用できるワーカー スレッドの数。
RetiredWorkerThreadCount win:UInt32 作業を処理するために使用できないが、後でさらにスレッドが必要になった場合に備えて予約されているワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadRetirementStart イベント

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)
出来事 イベント ID 形容
ThreadPoolWorkerThreadRetirementStart 52 ワーカー スレッドは廃止されます。
フィールド名 データ型 形容
ActiveWorkerThreadCount win:UInt32 既に処理されている作業を含む、作業の処理に使用できるワーカー スレッドの数。
RetiredWorkerThreadCount win:UInt32 作業を処理するために使用できないが、後でさらにスレッドが必要になった場合に備えて予約されているワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadRetirementStop イベント

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)
出来事 イベント ID 形容
ThreadPoolWorkerThreadRetirementStop 53 廃止されたワーカー スレッドが再びアクティブになります。
フィールド名 データ型 形容
ActiveWorkerThreadCount win:UInt32 既に処理されている作業を含む、作業の処理に使用できるワーカー スレッドの数。
RetiredWorkerThreadCount win:UInt32 作業を処理するために使用できないが、後でさらにスレッドが必要になった場合に備えて予約されているワーカー スレッドの数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadAdjustmentSample イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolWorkerThreadAdjustmentSample 54 1 つのサンプルの情報のコレクションを参照します。つまり、特定のコンカレンシー レベルのスループットを一瞬で測定します。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Throughput win:Double 時間単位あたりの完了数。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadAdjustmentAdjustment イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolWorkerThreadAdjustmentAdjustment 55 スレッドインジェクション (ヒルクライム) アルゴリズムがコンカレンシー レベルの変更が行われていると判断した場合に、コントロールの変更を記録します。

次の表に、イベント データを示します。

フィールド名 データ型 形容
AverageThroughput win:Double 測定値のサンプルの平均スループット。
NewWorkerThreadCount win:UInt32 アクティブなワーカー スレッドの新しい数。
Reason win:UInt32 調整の理由。

0x0 - ウォームアップ。

0x1 - 初期化中。

0x2 - ランダムな移動。

0x3 - 登山移動。

0x4 - 変更ポイント。

0x5 - 安定化。

0x6 - 飢え。

0x7 - スレッドがタイムアウトしました。

0x8 - 協調ブロッキング。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolWorkerThreadAdjustmentStats イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolWorkerThreadAdjustmentStats 56 スレッド プール上のデータを収集します。

次の表に、イベント データを示します。

フィールド名 データ型 形容
Duration win:Double これらの統計が収集された時間 (秒単位)。
Throughput win:Double この期間中の 1 秒あたりの平均完了数。
ThreadWave win:Double 内部使用のために予約されています。
ThroughputWave win:Double 内部使用のために予約されています。
ThroughputErrorEstimate win:Double 内部使用のために予約されています。
AverageThroughputErrorEstimate win:Double 内部使用のために予約されています。
ThroughputRatio win:Double この期間中のアクティブなワーカー スレッド数の変動によって引き起こされるスループットの相対的な向上。
Confidence win:Double ThroughputRatio フィールドの有効性の測定値。
NewcontrolSetting win:Double アクティブ スレッド数の将来のバリエーションのベースラインとして機能するアクティブなワーカー スレッドの数。
NewThreadWaveMagnitude win:UInt16 アクティブスレッド数の将来の変動の大きさ。
ClrInstanceID win:UInt16 CLR または CoreCLR のインスタンスの一意の ID。

ThreadPoolEnqueue イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolEnqueue 61 スレッド プール キューに作業項目がエンキューされました。

次の表に、イベント データを示します。

フィールド名 データ型 形容
WorkID win:Pointer 作業要求へのポインター。
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadPoolDequeue イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolDequeue 62 スレッド プール キューから作業項目がデキューされました。

次の表に、イベント データを示します。

フィールド名 データ型 形容
WorkID win:Pointer 作業要求へのポインター。
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadPoolIOEnqueue イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolIOEnqueue 63 非同期 IO の完了が発生した後、スレッドによって IO 完了通知がエンキューされます。

次の表に、イベント データを示します。

フィールド名 データ型 形容
NativeOverlapped win:Pointer 内部使用のために予約されています。
Overlapped win:Pointer 内部使用のために予約されています。
MultiDequeues win:Boolean 内部使用のために予約されています。
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadPoolIODequeue イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolIODequeue 64 スレッドは、IO 完了通知をデキューします。

次の表に、イベント データを示します。

フィールド名 データ型 形容
NativeOverlapped win:Pointer 内部使用のために予約されています。
Overlapped win:Pointer 内部使用のために予約されています。
MultiDequeues win:Boolean 内部使用のために予約されています。
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadPoolIOPack イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) Verbose (5)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadPoolIOPack 65 ThreadPool 重複 IO パックが呼び出されます。

次の表に、イベント データを示します。

フィールド名 データ型 形容
NativeOverlapped win:Pointer 内部使用のために予約されています。
Overlapped win:Pointer 内部使用のために予約されています。
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadCreating イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadCreating 70 スレッドが作成されました。

次の表に、イベント データを示します。

フィールド名 データ型 形容
ID win:Pointer スレッド ID
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。

ThreadRunning イベント

次の表に、キーワードとレベルを示します。

イベントを発生させるためのキーワード レベル
ThreadingKeyword (0x10000) 情報 (4)

次の表に、イベント情報を示します。

出来事 イベント ID 形容
ThreadRunning 71 スレッドの実行が開始されました。

次の表に、イベント データを示します。

フィールド名 データ型 形容
ID win:Pointer スレッド ID
ClrInstanceID win:UInt16 CoreCLR のインスタンスの一意の ID。