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