StopAndRelogTracingSessionStopAndRelogTracingSession

Zestaw SDK usługi Build Insights jest zgodny z programem Visual Studio 2017 lub nowszym.The C++ Build Insights SDK is compatible with Visual Studio 2017 and above. Aby zapoznać się z dokumentacją tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na visual Studio 2017 lub visual Studio 2019.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. Znajduje się w górnej części spisu treści na tej stronie.It's found at the top of the table of contents on this page.

StopAndRelogTracingSessionFunkcja przerywa trwającą sesję śledzenia i zapisuje wynikowy ślad w pliku tymczasowym.The StopAndRelogTracingSession function stops an ongoing tracing session and saves the resulting trace in a temporary file. Sesja ponownej rejestracji jest natychmiast uruchamiana przy użyciu pliku tymczasowego jako dane wejściowe.A relogging session is then immediately started using the temporary file as an input. Ostatni zarejestrowany rejestr utworzony przez sesję rejestrowania jest zapisywany w pliku określonym przez obiekt wywołujący.The final relogged trace produced by the relogging session is saved in a file specified by the caller. Pliki wykonywalne wywołujące tę funkcję muszą mieć uprawnienia administratora.Executables calling this function must have administrator privileges.

SkładniaSyntax

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

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

ParametryParameters

sessionNamesessionName
Nazwa sesji śledzenia, która ma zostać zatrzymana.The name of the tracing session to stop. Użyj tej samej nazwy sesji, która została przeniesiona do StartTracingSession, StartTracingSessionAlub StartTracingSessionW.Use the same session name as the one passed to StartTracingSession, StartTracingSessionA, or StartTracingSessionW.

outputLogFileoutputLogFile
Plik, w którym ma zostać zapisany zarejestrowany ponownie ślad utworzony przez sesję ponownego rejestrowania.The file in which to write the relogged trace produced by the relogging session.

Statystykistatistics
Wskaźnik do obiektu TRACING_SESSION_STATISTICS .Pointer to a TRACING_SESSION_STATISTICS object. StopAndRelogTracingSession zapisuje statystyki kolekcji śledzenia w tym obiekcie przed zwróceniem.StopAndRelogTracingSession writes trace collection statistics in this object before returning.

numberOfAnalysisPassesnumberOfAnalysisPasses
Liczba przebiegów analizy do uruchomienia w śladzie.The number of analysis passes to run on the trace. Śledzenie jest przekazywane przez podaną grupę analizatora raz na przebieg analizy.The trace gets passed through the provided analyzer group once per analysis pass.

systemEventsRetentionFlagssystemEventsRetentionFlags
RELOG_RETENTION_SYSTEM_EVENT_FLAGS maski bitowej, która określa, które systemowe zdarzenia ETW zachować w rejestrowanym śladzie.A RELOG_RETENTION_SYSTEM_EVENT_FLAGS bitmask that specifies which system ETW events to keep in the relogged trace.

AnalizatoranalyzerGroup
Grupa analizatorów używana dla fazy analizy sesji rejestrowania.The analyzer group used for the analysis phase of the relogging session. Wywołaj MakeStaticAnalyzerGroup , aby utworzyć grupę analizatorów.Call MakeStaticAnalyzerGroup to create an analyzer group. Jeśli chcesz użyć dynamicznej grupy analizatora uzyskanej z MakeDynamicAnalyzerGroup, najpierw Hermetyzuj ją wewnątrz statycznej grupy analizatorów, przekazując jej adres do MakeStaticAnalyzerGroup .If you wish to use a dynamic analyzer group obtained from MakeDynamicAnalyzerGroup, first encapsulate it inside a static analyzer group by passing its address to MakeStaticAnalyzerGroup.

rejestratorareloggerGroup
Grupa ponownego rejestrowania, która rejestruje zdarzenia do pliku śledzenia określonego w outputLogFile .The relogger group that relogs events into the trace file specified in outputLogFile . Wywołaj MakeStaticReloggerGroup , aby utworzyć grupę modułu rejestrującego.Call MakeStaticReloggerGroup to create a relogger group. Jeśli chcesz użyć dynamicznej grupy ponownego rejestrowania uzyskanej z MakeDynamicReloggerGroup, najpierw Hermetyzuj ją wewnątrz statycznej grupy rejestrowania, przechodząc do adresu MakeStaticReloggerGroup .If you wish to use a dynamic relogger group obtained from MakeDynamicReloggerGroup, first encapsulate it inside a static relogger group by passing its address to MakeStaticReloggerGroup.

Wartość zwracanaReturn Value

Kod wyniku z wyliczenia RESULT_CODE .A result code from the RESULT_CODE enum.

UwagiRemarks

Śledzenie danych wejściowych jest przesyłane przez grupę analizatora numberOfAnalysisPasses razy.The input trace is passed through the analyzer group numberOfAnalysisPasses times. Nie ma podobnej opcji do rejestrowania przebiegów.There's no similar option for relogging passes. Śledzenie jest przekazywane trough grupę rejestratorów tylko raz, po ukończeniu wszystkich przebiegów analizy.The trace is passed trough the relogger group only once, after all analysis passes are complete.

Rejestrowanie zdarzeń systemowych, takich jak przykłady procesora CPU z klasy rerejestratora, nie jest obsługiwane.The relogging of system events like CPU samples from within a relogger class isn't supported. Użyj parametru systemEventsRetentionFlags , aby określić, które zdarzenia systemowe mają być przechowywane w wyniku śledzenia danych wyjściowych.Use the systemEventsRetentionFlags parameter to decide which system events to keep in the output trace.