The Gaudi Framework  v37r1 (a7f61348)
IntelProfilerAuditor Class Reference
Inheritance diagram for IntelProfilerAuditor:
Collaboration diagram for IntelProfilerAuditor:

Classes

struct  stack_entity
 

Public Member Functions

StatusCode initialize () override
 
void handle (const Incident &incident) override
 
void before (StandardEventType type, INamedInterface *i) override
 
void after (StandardEventType type, INamedInterface *i, const StatusCode &sc) override
 
void before (StandardEventType, INamedInterface *) override
 The following methods are meant to be implemented by the child class... More...
 
void before (StandardEventType, const std::string &) override
 
void before (CustomEventTypeRef, INamedInterface *) override
 
void before (CustomEventTypeRef, const std::string &) override
 
void after (StandardEventType, INamedInterface *, const StatusCode &) override
 
void after (StandardEventType, const std::string &, const StatusCode &) override
 
void after (CustomEventTypeRef, INamedInterface *, const StatusCode &) override
 
void after (CustomEventTypeRef, const std::string &, const StatusCode &) override
 
- Public Member Functions inherited from extends< Auditor, IIncidentListener >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
- Public Member Functions inherited from Auditor
 Auditor (std::string name, ISvcLocator *svcloc)
 Constructor. More...
 
 Auditor (const Auditor &a)=delete
 
Auditoroperator= (const Auditor &rhs)=delete
 
StatusCode sysInitialize () override
 Initialization method invoked by the framework. More...
 
StatusCode sysFinalize () override
 Finalization method invoked by the framework. More...
 
void before (StandardEventType, INamedInterface *) override
 The following methods are meant to be implemented by the child class... More...
 
void before (StandardEventType, const std::string &) override
 
void before (CustomEventTypeRef, INamedInterface *) override
 
void before (CustomEventTypeRef, const std::string &) override
 
void after (StandardEventType, INamedInterface *, const StatusCode &) override
 
void after (StandardEventType, const std::string &, const StatusCode &) override
 
void after (CustomEventTypeRef, INamedInterface *, const StatusCode &) override
 
void after (CustomEventTypeRef, const std::string &, const StatusCode &) override
 
void beforeInitialize (INamedInterface *) override
 
void afterInitialize (INamedInterface *) override
 
void beforeReinitialize (INamedInterface *) override
 
void afterReinitialize (INamedInterface *) override
 
void beforeExecute (INamedInterface *) override
 
void afterExecute (INamedInterface *, const StatusCode &) override
 
void beforeFinalize (INamedInterface *) override
 
void afterFinalize (INamedInterface *) override
 
virtual StatusCode finalize ()
 
const std::stringname () const override
 
bool isEnabled () const override
 
SmartIF< ISvcLocator > & serviceLocator () const override
 The standard service locator. More...
 
template<class T >
StatusCode service (std::string_view name, T *&svc, bool createIf=false) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T = IService>
SmartIF< T > service (std::string_view name, bool createIf=false) const
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 PropertyHolder ()=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 Helper to wrap a regular data member and use it as a regular property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
 Declare a PropertyBase instance setting name and documentation. More...
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property. More...
 
StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override
 set the property from another property with a different name More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property. More...
 
virtual StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0
 Set the property from a property with a different name. More...
 
virtual StatusCode setProperty (const std::string &s)=0
 Set the property by string. More...
 
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals. More...
 
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string. More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (std::string_view name) const override
 get the property by name More...
 
StatusCode getProperty (std::string_view n, std::string &v) const override
 convert the property to the string More...
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties More...
 
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name. More...
 
Gaudi::Details::PropertyBaseproperty (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected More...
 
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
- Public Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 

Private Member Functions

void start_profiling_component (const std::string &name)
 
void skip_profiling_component (const std::string &name)
 
void start ()
 
void pause ()
 
void resume ()
 
void stop ()
 
bool hasIncludes () const
 
bool isIncluded (const std::string &name) const
 
bool isExcluded (const std::string &name) const
 
bool isRunning () const
 
int stackLevel () const
 
std::string stackIndent (bool newLevel=false) const
 
std::string taskTypeName (const std::string &component_name) const
 

Private Attributes

Gaudi::Property< std::vector< std::string > > m_included
 
Gaudi::Property< std::vector< std::string > > m_excluded
 
Gaudi::Property< int > m_nStartFromEvent
 
Gaudi::Property< int > m_nStopAtEvent
 
Gaudi::Property< std::vector< std::string > > m_algs_for_tasktypes
 
Gaudi::Property< std::stringm_alg_delim
 
Gaudi::Property< bool > m_enable_frames
 
Gaudi::Property< int > m_frames_rate
 
int m_nEvents = 0
 
__itt_domain * domain = nullptr
 
bool m_isStarted = false
 
std::vector< stack_entitym_stack
 
TaskTypes m_tasktypes
 

Additional Inherited Members

- Public Types inherited from extends< Auditor, IIncidentListener >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from Auditor
using Factory = Gaudi::PluginService::Factory< IAuditor *(const std::string &, ISvcLocator *)>
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
using PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 Typedef used to refer to this class from derived classes, as in. More...
 
- Public Types inherited from CommonMessaging< implements< IAuditor, IProperty > >
using base_class = CommonMessaging
 
- Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 
- Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
MSG::Level setUpMessaging () const
 Set up local caches. More...
 
MSG::Level resetMessaging ()
 Reinitialize internal states. More...
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Detailed Description

Definition at line 41 of file IntelProfilerAuditor.cpp.

Member Function Documentation

◆ after() [1/5]

void Auditor::after
override

Definition at line 77 of file Auditor.cpp.

139 {}

◆ after() [2/5]

void Auditor::after
override

Definition at line 76 of file Auditor.cpp.

138 {}

◆ after() [3/5]

void IntelProfilerAuditor::after ( StandardEventType  type,
INamedInterface i,
const StatusCode sc 
)
override

Definition at line 330 of file IntelProfilerAuditor.cpp.

330  {
331  // Skip unnecessary event types
332  if ( !( ( type == IAuditor::Execute ) && m_isStarted ) ) return;
333 
334  if ( ( m_nEvents + 1 ) % m_frames_rate == 0 ) { __itt_frame_end_v3( domain, NULL ); }
335 
336  // Name of the current component
337  const std::string& name = i->name();
338  stack_entity state = m_stack.back();
339  // Remove component from stack.
340  m_stack.pop_back();
341 
342  if ( state.event != 0 ) {
343  debug() << stackIndent( true ) << "End event for " << name << endmsg;
344  __itt_event_end( state.event );
345 
346  if ( state.parent_event != 0 ) {
347  debug() << stackIndent() << "Resume event for " << state.parent_event << endmsg;
348  __itt_event_start( state.parent_event );
349  }
350  }
351 
352  if ( m_stack.empty() ) {
353  // Pause if there are no parent components (top algorithm).
354  pause();
355  } else if ( state.status ) {
356  // If the profiling is running and we have parent component that is
357  // paused then pause the profiling.
358  if ( !m_stack.back().status ) { pause(); }
359  } else {
360  // If the profiling was stopped, but the parent component should be profiled
361  // then resume profiling.
362  if ( m_stack.back().status ) { resume(); }
363  }
364 }

◆ after() [4/5]

void Auditor::after
override

Definition at line 74 of file Auditor.cpp.

136 {}

◆ after() [5/5]

void Auditor::after
override

Definition at line 73 of file Auditor.cpp.

112  {
113  switch ( evt ) {
114  case Initialize:
115  afterInitialize( obj );
116  break;
117  case ReInitialize:
118  afterReinitialize( obj );
119  break;
120  case Execute:
121  afterExecute( obj, sc );
122  break;
123  case Finalize:
124  afterFinalize( obj );
125  break;
126  case Start:
127  break;
128  case Stop:
129  break;
130  case ReStart:
131  break;
132  default:
133  break; // do nothing
134  }
135 }

◆ before() [1/5]

void Auditor::before
override

Definition at line 71 of file Auditor.cpp.

109 {}

◆ before() [2/5]

void Auditor::before
override

Definition at line 70 of file Auditor.cpp.

108 {}

◆ before() [3/5]

void IntelProfilerAuditor::before ( StandardEventType  type,
INamedInterface i 
)
override

Definition at line 286 of file IntelProfilerAuditor.cpp.

286  {
287  // Skip unnecessary event types.
288  if ( !( ( type == IAuditor::Execute ) && m_isStarted ) ) return;
289 
290  // Name of the current component.
291  const std::string& name = i->name();
292  // debug() << "Before: " << name << " " << type << endmsg;
293 
294  if ( isRunning() ) {
295  if ( isExcluded( name ) ) {
296  // If profiling is running and component is explicitly excluded
297  // then skip component.
299  } else {
300  // If profiling is running and component is'not explicitly excluded
301  // then start profiling for component (add to stack).
303  }
304  } else {
305  if ( hasIncludes() ) {
306  // If the profiling is not running and "includes" is explicitly defined ...
307  if ( isIncluded( name ) ) {
308  // and the current component is in the include's list then start the
309  // component profiling.
311  } else {
312  // and the current component is not in the includes list then skip
313  // a profiling of the component.
315  }
316  } else {
317  // If "Includes" property isn't present and the component is ...
318  if ( isExcluded( name ) ) {
319  // in the excludes list then skip a profiling
321  } else {
322  // not in the exclude list then start a profiling
324  }
325  }
326  }
327  if ( m_nEvents % m_frames_rate == 0 ) { __itt_frame_begin_v3( domain, NULL ); }
328 }

◆ before() [4/5]

void Auditor::before
override

Definition at line 68 of file Auditor.cpp.

106 {}

◆ before() [5/5]

void Auditor::before
override

The following methods are meant to be implemented by the child class...

Definition at line 67 of file Auditor.cpp.

82  {
83  switch ( evt ) {
84  case Initialize:
85  beforeInitialize( obj );
86  break;
87  case ReInitialize:
88  beforeReinitialize( obj );
89  break;
90  case Execute:
91  beforeExecute( obj );
92  break;
93  case Finalize:
94  beforeFinalize( obj );
95  break;
96  case Start:
97  break;
98  case Stop:
99  break;
100  case ReStart:
101  break;
102  default:
103  break; // do nothing
104  }
105 }

◆ handle()

void IntelProfilerAuditor::handle ( const Incident incident)
override

Definition at line 270 of file IntelProfilerAuditor.cpp.

270  {
271  if ( IncidentType::BeginEvent != incident.type() ) return;
272  // Increment the event counter
273  ++m_nEvents;
274 
275  if ( m_nStartFromEvent == m_nEvents ) {
276  info() << "Start profiling (event #" << m_nEvents << ")" << endmsg;
277  start();
278  }
279 
280  if ( m_nStopAtEvent == m_nEvents ) {
281  info() << "Stop profiling (event #" << m_nEvents << ")" << endmsg;
282  stop();
283  }
284 }

◆ hasIncludes()

bool IntelProfilerAuditor::hasIncludes ( ) const
private

Definition at line 202 of file IntelProfilerAuditor.cpp.

202 { return !m_included.empty(); }

◆ initialize()

StatusCode IntelProfilerAuditor::initialize ( )
overridevirtual

Reimplemented from Auditor.

Definition at line 232 of file IntelProfilerAuditor.cpp.

232  {
233  info() << "Initialised" << endmsg;
234 
235  IIncidentSvc* inSvc = NULL;
236  const StatusCode sc = serviceLocator()->service( "IncidentSvc", inSvc );
237  if ( sc.isFailure() ) return sc;
238  // Useful to start profiling only after some event, we don't need profile
239  // initialization stage. For that we need to count events with BeginEvent
240  // listener.
241  inSvc->addListener( this, IncidentType::BeginEvent );
242  // If the end event number don't setup we finish profiling at the end
243  // of loop. We don't need profiling finalization stage.
244  inSvc->addListener( this, IncidentType::EndProcessing );
245 
246  std::string str_excluded, str_included, str_eventtypes;
247  for ( const auto& name : m_excluded ) { str_excluded += " " + name; }
248  for ( const auto& name : m_included ) { str_included += " " + name; }
249  for ( const auto& name : m_algs_for_tasktypes ) { str_eventtypes += " " + name; }
250 
251  if ( !m_included.empty() ) {
252  info() << "Included algorithms (" << m_included.size() << "): " << str_included << endmsg;
253  }
254 
255  if ( !m_excluded.empty() ) {
256  info() << "Excluded algorithms (" << m_excluded.size() << "): " << str_excluded << endmsg;
257  }
258 
259  if ( !m_algs_for_tasktypes.empty() ) {
260  info() << "Event types (" << m_algs_for_tasktypes.size() << "): " << str_eventtypes << endmsg;
261  }
262 
263  // Create a profiler domain for detection of slow events.
264  domain = __itt_domain_create( "Event loop" );
265  domain->flags = m_enable_frames;
266 
267  return StatusCode::SUCCESS;
268 }

◆ isExcluded()

bool IntelProfilerAuditor::isExcluded ( const std::string name) const
private

Definition at line 208 of file IntelProfilerAuditor.cpp.

208  {
209  return std::find( m_excluded.begin(), m_excluded.end(), name ) != m_excluded.end();
210 }

◆ isIncluded()

bool IntelProfilerAuditor::isIncluded ( const std::string name) const
private

Definition at line 204 of file IntelProfilerAuditor.cpp.

204  {
205  return std::find( m_included.begin(), m_included.end(), name ) != m_included.end();
206 }

◆ isRunning()

bool IntelProfilerAuditor::isRunning ( ) const
private

Definition at line 212 of file IntelProfilerAuditor.cpp.

212 { return !m_stack.empty() && m_stack.back().status; }

◆ pause()

void IntelProfilerAuditor::pause ( )
private

Definition at line 184 of file IntelProfilerAuditor.cpp.

184  {
185  if ( !m_isStarted ) return;
186  debug() << stackIndent() << "Pause" << endmsg;
187  __itt_pause();
188 }

◆ resume()

void IntelProfilerAuditor::resume ( )
private

Definition at line 178 of file IntelProfilerAuditor.cpp.

178  {
179  if ( !m_isStarted ) return;
180  debug() << stackIndent() << "Resume" << endmsg;
181  __itt_resume();
182 }

◆ skip_profiling_component()

void IntelProfilerAuditor::skip_profiling_component ( const std::string name)
private

Definition at line 190 of file IntelProfilerAuditor.cpp.

190  {
191  if ( !m_isStarted ) return;
192  m_stack.push_back( stack_entity( name, false ) );
193  debug() << stackIndent() << "Skip component " << name << endmsg;
194 }

◆ stackIndent()

std::string IntelProfilerAuditor::stackIndent ( bool  newLevel = false) const
private

Definition at line 216 of file IntelProfilerAuditor.cpp.

216  {
218  indent << std::setw( stackLevel() * 2 + ( newLevel ? 2 : 0 ) ) << " ";
219  return indent.str();
220 }

◆ stackLevel()

int IntelProfilerAuditor::stackLevel ( ) const
private

Definition at line 214 of file IntelProfilerAuditor.cpp.

214 { return m_stack.size(); }

◆ start()

void IntelProfilerAuditor::start ( )
private

Definition at line 132 of file IntelProfilerAuditor.cpp.

132  {
133  m_isStarted = true;
134  __itt_resume();
135 }

◆ start_profiling_component()

void IntelProfilerAuditor::start_profiling_component ( const std::string name)
private

Definition at line 137 of file IntelProfilerAuditor.cpp.

137  {
138  if ( !m_isStarted ) return;
140  __itt_event taskId = 0;
141  TaskTypes::const_iterator iter = m_tasktypes.find( typeName );
142  if ( iter != m_tasktypes.end() ) { taskId = iter->second; }
143 
144  if ( !taskId && m_algs_for_tasktypes.empty() ) {
145  // Create event
146  taskId = __itt_event_create( typeName.c_str(), typeName.size() );
147  m_tasktypes.insert( TaskTypes::value_type( typeName, taskId ) );
148  }
149 
150  stack_entity state = stack_entity( name, true, taskId );
151  stack_entity* parent = !m_stack.empty() ? &m_stack.back() : NULL;
152 
153  if ( parent != NULL ) {
154  if ( parent->event ) {
155  state.parent_event = parent->event;
156  } else {
157  state.parent_event = parent->parent_event;
158  }
159  }
160 
161  if ( taskId && state.parent_event ) {
162  debug() << stackIndent() << "Pause event " << state.parent_event << endmsg;
163  __itt_event_end( state.parent_event );
164  }
165  m_stack.push_back( state );
166 
167  debug() << stackIndent() << "Start profiling component " << typeName << endmsg;
168 
169  if ( taskId ) {
170  // Start event
171  debug() << stackIndent() << "Start event type " << state.event << " for " << typeName << endmsg;
172  __itt_event_start( state.event );
173  }
174 
175  __itt_resume();
176 }

◆ stop()

void IntelProfilerAuditor::stop ( )
private

Definition at line 196 of file IntelProfilerAuditor.cpp.

196  {
197  if ( !m_isStarted ) return;
198  m_isStarted = false;
199  __itt_pause();
200 }

◆ taskTypeName()

std::string IntelProfilerAuditor::taskTypeName ( const std::string component_name) const
private

Definition at line 222 of file IntelProfilerAuditor.cpp.

222  {
223  std::string result;
224  std::string delim = "";
225  for ( const auto& value : m_stack ) {
226  result += delim + value.name;
227  delim = m_alg_delim;
228  }
229  return result + m_alg_delim + component_name;
230 }

Member Data Documentation

◆ domain

__itt_domain* IntelProfilerAuditor::domain = nullptr
private

Definition at line 104 of file IntelProfilerAuditor.cpp.

◆ m_alg_delim

Gaudi::Property<std::string> IntelProfilerAuditor::m_alg_delim
private
Initial value:
{ this, "TaskTypeNameDelimeter", " ",
"The String delimiter between sequences/algorithms names in "
"\"Task Type\" grouping at Amplifier. Default=\" \"." }

Definition at line 86 of file IntelProfilerAuditor.cpp.

◆ m_algs_for_tasktypes

Gaudi::Property<std::vector<std::string> > IntelProfilerAuditor::m_algs_for_tasktypes
private
Initial value:
{
this,
"ComponentsForTaskTypes",
{},
"Algorithm name, for which intel amplifier task type will be created."
"By default all algorithms have a corresponding task type." }

Definition at line 80 of file IntelProfilerAuditor.cpp.

◆ m_enable_frames

Gaudi::Property<bool> IntelProfilerAuditor::m_enable_frames
private
Initial value:
{ this, "EnableFrames", false,
"Enable frames (needed for detecting slow events). Default=false." }

Definition at line 89 of file IntelProfilerAuditor.cpp.

◆ m_excluded

Gaudi::Property<std::vector<std::string> > IntelProfilerAuditor::m_excluded
private
Initial value:
{
this, "ExcludeAlgorithms", {}, "Names of excluded algorithms." }

Definition at line 73 of file IntelProfilerAuditor.cpp.

◆ m_frames_rate

Gaudi::Property<int> IntelProfilerAuditor::m_frames_rate
private
Initial value:
{ this, "FramesRate", 100,
"Frames rate. The recommended maximum rate for calling the Frame API is "
"1000 frames (events) per second. A higher rate may result in large product"
" memory consumption and slow finalization. "
"You need update \"slow-frames-threshold\" and \"fast-frames-threshold\" "
"parameters of amplxe-cl tool to separate slow, medium and fast events. "
"For use frames you need to switch on \"EnableFrames\". "
"Default=100" }

Definition at line 91 of file IntelProfilerAuditor.cpp.

◆ m_included

Gaudi::Property<std::vector<std::string> > IntelProfilerAuditor::m_included
private
Initial value:
{
this, "IncludeAlgorithms", {}, "Names of included algorithms." }

Definition at line 71 of file IntelProfilerAuditor.cpp.

◆ m_isStarted

bool IntelProfilerAuditor::m_isStarted = false
private

Definition at line 106 of file IntelProfilerAuditor.cpp.

◆ m_nEvents

int IntelProfilerAuditor::m_nEvents = 0
private

Definition at line 102 of file IntelProfilerAuditor.cpp.

◆ m_nStartFromEvent

Gaudi::Property<int> IntelProfilerAuditor::m_nStartFromEvent
private
Initial value:
{
this, "StartFromEventN", 1, "After what event we stop profiling. If 0 than we also profile finalization stage." }

Definition at line 75 of file IntelProfilerAuditor.cpp.

◆ m_nStopAtEvent

Gaudi::Property<int> IntelProfilerAuditor::m_nStopAtEvent
private
Initial value:
{
this, "StopAtEventN", 0,
"After what event we stop profiling. If 0 than we also profile finalization stage. Default = 0." }

Definition at line 77 of file IntelProfilerAuditor.cpp.

◆ m_stack

std::vector<stack_entity> IntelProfilerAuditor::m_stack
private

Definition at line 108 of file IntelProfilerAuditor.cpp.

◆ m_tasktypes

TaskTypes IntelProfilerAuditor::m_tasktypes
private

Definition at line 110 of file IntelProfilerAuditor.cpp.


The documentation for this class was generated from the following file:
IOTest.evt
evt
Definition: IOTest.py:105
IntelProfilerAuditor::m_algs_for_tasktypes
Gaudi::Property< std::vector< std::string > > m_algs_for_tasktypes
Definition: IntelProfilerAuditor.cpp:80
Auditor::beforeInitialize
void beforeInitialize(INamedInterface *) override
Definition: Auditor.cpp:141
IntelProfilerAuditor::resume
void resume()
Definition: IntelProfilerAuditor.cpp:178
std::string
STL class.
IntelProfilerAuditor::m_included
Gaudi::Property< std::vector< std::string > > m_included
Definition: IntelProfilerAuditor.cpp:71
IAuditor::Execute
@ Execute
Definition: IAuditor.h:34
IIncidentSvc::addListener
virtual void addListener(IIncidentListener *lis, const std::string &type="", long priority=0, bool rethrow=false, bool singleShot=false)=0
Add listener.
IntelProfilerAuditor::skip_profiling_component
void skip_profiling_component(const std::string &name)
Definition: IntelProfilerAuditor.cpp:190
IntelProfilerAuditor::stackLevel
int stackLevel() const
Definition: IntelProfilerAuditor.cpp:214
IntelProfilerAuditor::m_isStarted
bool m_isStarted
Definition: IntelProfilerAuditor.cpp:106
IntelProfilerAuditor::start_profiling_component
void start_profiling_component(const std::string &name)
Definition: IntelProfilerAuditor.cpp:137
std::find
T find(T... args)
std::string::size
T size(T... args)
std::stringstream
STL class.
Auditor::beforeReinitialize
void beforeReinitialize(INamedInterface *) override
Definition: Auditor.cpp:143
INamedInterface::name
virtual const std::string & name() const =0
Retrieve the name of the instance.
IntelProfilerAuditor::m_frames_rate
Gaudi::Property< int > m_frames_rate
Definition: IntelProfilerAuditor.cpp:91
Auditor::afterExecute
void afterExecute(INamedInterface *, const StatusCode &) override
Definition: Auditor.cpp:146
IntelProfilerAuditor::domain
__itt_domain * domain
Definition: IntelProfilerAuditor.cpp:104
IntelProfilerAuditor::start
void start()
Definition: IntelProfilerAuditor.cpp:132
Auditor::name
const std::string & name() const override
Definition: Auditor.cpp:192
Auditor::beforeFinalize
void beforeFinalize(INamedInterface *) override
Definition: Auditor.cpp:147
IntelProfilerAuditor::m_excluded
Gaudi::Property< std::vector< std::string > > m_excluded
Definition: IntelProfilerAuditor.cpp:73
IntelProfilerAuditor::m_nEvents
int m_nEvents
Definition: IntelProfilerAuditor.cpp:102
StatusCode
Definition: StatusCode.h:65
Auditor::afterReinitialize
void afterReinitialize(INamedInterface *) override
Definition: Auditor.cpp:144
IntelProfilerAuditor::isRunning
bool isRunning() const
Definition: IntelProfilerAuditor.cpp:212
Auditor::afterFinalize
void afterFinalize(INamedInterface *) override
Definition: Auditor.cpp:148
std::string::c_str
T c_str(T... args)
IntelProfilerAuditor::m_stack
std::vector< stack_entity > m_stack
Definition: IntelProfilerAuditor.cpp:108
IntelProfilerAuditor::m_tasktypes
TaskTypes m_tasktypes
Definition: IntelProfilerAuditor.cpp:110
Auditor::afterInitialize
void afterInitialize(INamedInterface *) override
Definition: Auditor.cpp:142
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:203
Auditor::beforeExecute
void beforeExecute(INamedInterface *) override
Definition: Auditor.cpp:145
StatusCode::isFailure
bool isFailure() const
Definition: StatusCode.h:129
gaudirun.type
type
Definition: gaudirun.py:162
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
GaudiDict::typeName
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:31
IntelProfilerAuditor::isExcluded
bool isExcluded(const std::string &name) const
Definition: IntelProfilerAuditor.cpp:208
std::map::insert
T insert(T... args)
IntelProfilerAuditor::pause
void pause()
Definition: IntelProfilerAuditor.cpp:184
IntelProfilerAuditor::hasIncludes
bool hasIncludes() const
Definition: IntelProfilerAuditor.cpp:202
IntelProfilerAuditor::m_enable_frames
Gaudi::Property< bool > m_enable_frames
Definition: IntelProfilerAuditor.cpp:89
Incident::type
const std::string & type() const
Access to the incident type.
Definition: Incident.h:48
std::map::end
T end(T... args)
IntelProfilerAuditor::m_alg_delim
Gaudi::Property< std::string > m_alg_delim
Definition: IntelProfilerAuditor.cpp:86
std::setw
T setw(T... args)
compareRootHistos.state
state
Definition: compareRootHistos.py:497
IntelProfilerAuditor::stop
void stop()
Definition: IntelProfilerAuditor.cpp:196
IIncidentSvc
Definition: IIncidentSvc.h:33
IntelProfilerAuditor::m_nStopAtEvent
Gaudi::Property< int > m_nStopAtEvent
Definition: IntelProfilerAuditor.cpp:77
IntelProfilerAuditor::isIncluded
bool isIncluded(const std::string &name) const
Definition: IntelProfilerAuditor.cpp:204
Auditor::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const override
The standard service locator.
Definition: Auditor.cpp:196
IntelProfilerAuditor::taskTypeName
std::string taskTypeName(const std::string &component_name) const
Definition: IntelProfilerAuditor.cpp:222
IntelProfilerAuditor::stackIndent
std::string stackIndent(bool newLevel=false) const
Definition: IntelProfilerAuditor.cpp:216
PrepareBase.out
out
Definition: PrepareBase.py:20
IntelProfilerAuditor::m_nStartFromEvent
Gaudi::Property< int > m_nStartFromEvent
Definition: IntelProfilerAuditor.cpp:75