次の方法で共有


Relog

C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。

Relog 関数は、Event Tracing for Windows (ETW) トレースから MSVC イベントを読み取り、それを新しい変更された ETW トレースに書き込むために使用されます。

構文

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE Relog(
    const char*                                   inputLogFile,
    const char*                                   outputLogFile,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE Relog(
    const wchar_t*                                inputLogFile,
    const wchar_t*                                outputLogFile,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

テンプレートパラメーター

TAnalyzerGroupMembers
このテンプレート パラメーター パックは常に推測されます。

TReloggerGroupMembers
このテンプレート パラメーター パックは常に推測されます。

パラメーター

inputLogFile
イベントの読み取り元の入力 ETW トレース。

outputLogFile
新しいイベントを書き込むファイル。

numberOfAnalysisPasses
入力トレースに対して実行する分析パスの数。 トレースは、指定されたアナライザー グループを通して、分析パスごとに 1 回渡されます。

systemEventsRetentionFlags
再ログ記録されたトレースに保持するシステム ETW イベントを指定するビットマスク。 詳細については、RELOG_RETENTION_SYSTEM_EVENT_FLAGSを参照してください。

analyzerGroup
再ログ記録セッションの分析フェーズに使用されるアナライザー グループ。 MakeStaticAnalyzerGroupを呼び出してアナライザー グループを作成します。 MakeDynamicAnalyzerGroupから取得した動的アナライザー グループを使用するには、まず、そのアドレスをMakeStaticAnalyzerGroupに渡して静的アナライザー グループ内にカプセル化します。

reloggerGroup
outputLogFileで指定されたトレース ファイルにイベントを再ログ記録するリロガー グループ。 MakeStaticReloggerGroupを呼び出して、リロガー グループを作成します。 MakeDynamicReloggerGroupから取得した動的リロガー グループを使用するには、まずそのアドレスをMakeStaticReloggerGroupに渡して、静的リロガー グループ内にカプセル化します。

戻り値

RESULT_CODE列挙型からの結果コード。

注釈

入力トレースは numberOfAnalysisPasses 回、アナライザー グループに渡されます。 再ログ記録パスには同様のオプションはありません。 トレースは、すべての分析パスが完了した後、リロガー グループを 1 回だけ通過します。

CPU サンプルなどのシステム イベントをリロガー クラス内から再ログ記録することはサポートされていません。 systemEventsRetentionFlags パラメーターを使用して、出力トレースに保持するシステム イベントを決定します。

relog 関数は COM API に依存します。 CoInitialize を呼び出す前に、 relogを呼び出す必要があります。 CoUninitialize が完了したら、 relog を呼び出します。 最初に relog を呼び出さずに CoInitialize を呼び出すと、エラー コード 9 (RESULT_CODE_FAILURE_START_RELOGGER) が表示されます。