10 #include "valgrind/callgrind.h"
15 m_firstEvent(pset.getUntrackedParameter<int>(
"firstEvent",0 )),
16 m_lastEvent(pset.getUntrackedParameter<int>(
"lastEvent",std::numeric_limits<int>::
max())),
17 m_dumpInterval(pset.getUntrackedParameter<int>(
"dumpInterval",100)),
18 m_paths(pset.getUntrackedParameter<std::vector<std::
string> >(
"paths",std::vector<std::
string>() )),
19 m_excludedPaths(pset.getUntrackedParameter<std::vector<std::
string> >(
"excludePaths",std::vector<std::
string>() )),
45 #pragma GCC diagnostic push
46 #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
53 CALLGRIND_START_INSTRUMENTATION;
66 CALLGRIND_STOP_INSTRUMENTATION;
73 CALLGRIND_STOP_INSTRUMENTATION;
80 CALLGRIND_STOP_INSTRUMENTATION;
87 CALLGRIND_START_INSTRUMENTATION;
97 #pragma GCC diagnostic pop
void watchPreEvent(PreEvent::slot_type const &iSlot)
std::vector< std::string > m_excludedPaths
bool resumeInstrumentation()
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
void endPathI(edm::StreamContext const &stream, edm::PathContext const &path, edm::HLTPathStatus const &)
std::vector< std::string > m_paths
void beginPath(std::string const &path)
void endPath(std::string const &path)
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
~ProfilerService()
Destructor.
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool stopInstrumentation()
stop instrumentation if not active anymore; true if stopped now
void preSourceI(edm::StreamID)
bool forceStopInstrumentation()
forced stop instrumentation independenly of activity status; true if stopped now
bool pauseInstrumentation()
bool startInstrumentation()
start instrumentation if not active. true if started now
void endEventI(edm::StreamContext const &stream)
void dumpStat() const
dump profiling information
void beginPathI(edm::StreamContext const &stream, edm::PathContext const &path)
volatile std::atomic< bool > shutdown_flag false
ProfilerService(edm::ParameterSet const &pset, edm::ActivityRegistry &activity)
Standard Service Constructor.
bool doEvent() const
true if the current event has to be instrumented
void beginEventI(edm::StreamContext const &stream)