Compartir vía


Relog

El SDK de C++ Build Insights es compatible con Visual Studio 2017 y versiones posteriores. Para ver la documentación de estas versiones, establezca el control de selector de Versión de Visual Studio para este artículo en Visual Studio 2017 o versiones posteriores. Se encuentra en la parte superior de la tabla de contenido de esta página.

La función Relog se usa para leer eventos de MSVC de un seguimiento de tipo Seguimiento de eventos para Windows (ETW) y escribirlos en un seguimiento ETW modificado nuevo.

Sintaxis

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);

Parámetros

TAnalyzerGroupMembers
Este parámetro siempre se deduce.

TReloggerGroupMembers
Este parámetro siempre se deduce.

inputLogFile
Seguimiento de ETW de entrada del que desea leer eventos.

outputLogFile
Archivo en el que se van a escribir los eventos nuevos.

numberOfAnalysisPasses
Número de pasos de análisis que se van a ejecutar en el seguimiento de entrada. El seguimiento se pasa una vez a través del grupo de analizadores proporcionado por cada paso de análisis.

systemEventsRetentionFlags
Máscara de bits que especifica qué eventos de ETW del sistema conservar en el seguimiento registrado. Para más información, consulte RELOG_RETENTION_SYSTEM_EVENT_FLAGS.

analyzerGroup
El grupo de analizadores que se usa para la fase de análisis de la sesión de reregistro. Llame a MakeStaticAnalyzerGroup para crear un grupo de analizadores. Para usar un grupo de analizadores dinámico obtenido de MakeDynamicAnalyzerGroup, primero debe pasar su dirección a MakeStaticAnalyzerGroup para encapsularlo dentro de un grupo de analizadores estático.

reloggerGroup
El grupo de registradores que registra eventos en el archivo de seguimiento que se especifica en outputLogFile. Llame a MakeStaticReloggerGroup para crear un grupo de registradores. Para usar un grupo de registradores dinámico obtenido de MakeDynamicReloggerGroup, primero debe pasar su dirección a MakeStaticReloggerGroup para encapsularlo dentro de un grupo de registradores estático.

Valor devuelto

Código de resultado de la enumeración RESULT_CODE.

Comentario

El seguimiento de entrada se pasa a través del grupo de analizadores la cantidad de veces que indica numberOfAnalysisPasses. No hay ninguna opción similar para las fases de registro. El seguimiento se pasa a través del grupo de registradores solo una vez, después de que se completan todos los pasos de análisis.

No se admite el registro de eventos del sistema como ejemplos de CPU desde una clase de registrador. Use el parámetro systemEventsRetentionFlags para decidir qué eventos del sistema mantener en el seguimiento de salida.

La relog función depende de la API COM. Debe llamar CoInitialize a antes de llamar a relog. Llame CoUninitialize una vez relog que haya terminado. Si llama relog sin una llamada a CoInitialize primero, obtendrá el código de error 9 (RESULT_CODE_FAILURE_START_RELOGGER).