IRelogger class

The C++ Build Insights SDK is compatible with Visual Studio 2017 and above. To see the documentation for these versions, set the Visual Studio Version selector control for this article to Visual Studio 2017 or Visual Studio 2019. It's found at the top of the table of contents on this page.

The IRelogger class provides an interface for relogging an Event Tracing for Windows (ETW) trace. It's used with the MakeDynamicReloggerGroup and MakeStaticReloggerGroup functions. Use IRelogger as a base class to create your own relogger that can be part of a relogger group.

Syntax

class IRelogger
{
public:
    virtual AnalysisControl OnStartActivity(const EventStack& eventStack,
        const void* relogSession);

    virtual AnalysisControl OnStopActivity(const EventStack& eventStack,
        const void* relogSession);

    virtual AnalysisControl OnSimpleEvent(const EventStack& eventStack,
        const void* relogSession);

    virtual AnalysisControl OnTraceInfo(const TraceInfo& traceInfo);
    virtual AnalysisControl OnBeginRelogging();
    virtual AnalysisControl OnEndRelogging();
    virtual AnalysisControl OnBeginReloggingPass();
    virtual AnalysisControl OnEndReloggingPass() ;

    virtual ~IRelogger();
};

Remarks

The default return value for all functions that aren't overridden is AnalysisControl::CONTINUE. For more information, see AnalysisControl.

Members

Destructor

~IRelogger

Functions

OnBeginRelogging
OnBeginReloggingPass
OnEndRelogging
OnEndReloggingPass
OnSimpleEvent
OnStartActivity
OnStopActivity
OnTraceInfo

~IRelogger

Destroys the IRelogger class.

virtual ~IRelogger();

OnBeginRelogging

This function is called before the relogging pass begins.

virtual AnalysisControl OnBeginRelogging();

Return Value

An AnalysisControl code that describes what should happen next.

OnBeginReloggingPass

This function is called at the beginning of the relogging pass.

virtual AnalysisControl OnBeginReloggingPass();

Return Value

An AnalysisControl code that describes what should happen next.

OnEndRelogging

This function is called after the relogging pass has ended.

virtual AnalysisControl OnEndRelogging();

Return Value

An AnalysisControl code that describes what should happen next.

OnEndReloggingPass

This function is called at the end of the relogging pass.

virtual AnalysisControl OnEndReloggingPass();

Return Value

An AnalysisControl code that describes what should happen next.

OnSimpleEvent

virtual AnalysisControl OnSimpleEvent(const EventStack& eventStack);

This function is called when a simple event is being processed.

Parameters

eventStack
The event stack for this simple event. For more information on event stacks, see Events.

Return Value

An AnalysisControl code that describes what should happen next.

OnStartActivity

virtual AnalysisControl OnStartActivity(const EventStack& eventStack);

This function is called when an activity start event is being processed.

Parameters

eventStack
The event stack for this activity start event. For more information on event stacks, see Events.

Return Value

An AnalysisControl code that describes what should happen next.

OnStopActivity

This function is called when an activity stop event is being processed.

virtual AnalysisControl OnStopActivity(const EventStack& eventStack);

Parameters

eventStack
The event stack for this activity stop event. For more information on event stacks, see Events.

Return Value

An AnalysisControl code that describes what should happen next.

OnTraceInfo

virtual AnalysisControl OnTraceInfo(const TraceInfo& traceInfo);

This function is called once at the beginning of every analysis or relogging pass.

Parameters

traceInfo
A TraceInfo object that contains useful properties about the trace being consumed.

Return Value

An AnalysisControl code that describes what should happen next.