MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / flush

Method flush

src/jrd/ProfilerManager.cpp:671–695  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

669}
670
671void ProfilerManager::flush(bool updateTimer)
672{
673 { // scope
674 AutoSetRestore<bool> pauseProfiler(&paused, true);
675
676 auto pluginAccessor = activePlugins.accessor();
677
678 for (bool hasNext = pluginAccessor.getFirst(); hasNext;)
679 {
680 auto& pluginName = pluginAccessor.current()->first;
681 auto& plugin = pluginAccessor.current()->second;
682
683 LogLocalStatus status("Profiler flush");
684 plugin->flush(&status);
685
686 hasNext = pluginAccessor.getNext();
687
688 if (!currentSession || plugin.get() != currentSession->plugin.get())
689 activePlugins.remove(pluginName);
690 }
691 }
692
693 if (updateTimer)
694 updateFlushTimer();
695}
696
697void ProfilerManager::updateFlushTimer(bool canStopTimer)
698{

Callers 2

flushProcedureMethod · 0.45
processCommandMethod · 0.45

Calls 6

accessorMethod · 0.80
getFirstMethod · 0.45
currentMethod · 0.45
getNextMethod · 0.45
getMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected