The Gaudi Framework  master (37c0b60a)
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 76 of file Auditor.cpp.

139 {}

◆ after() [2/5]

void Auditor::after
override

Definition at line 75 of file Auditor.cpp.

138 {}

◆ after() [3/5]

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

Definition at line 328 of file IntelProfilerAuditor.cpp.

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

◆ after() [4/5]

void Auditor::after
override

Definition at line 73 of file Auditor.cpp.

136 {}

◆ after() [5/5]

void Auditor::after
override

Definition at line 72 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 70 of file Auditor.cpp.

109 {}

◆ before() [2/5]

void Auditor::before
override

Definition at line 69 of file Auditor.cpp.

108 {}

◆ before() [3/5]

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

Definition at line 284 of file IntelProfilerAuditor.cpp.

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

◆ before() [4/5]

void Auditor::before
override

Definition at line 67 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 66 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 268 of file IntelProfilerAuditor.cpp.

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

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

◆ 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:107
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
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:202
Auditor::beforeExecute
void beforeExecute(INamedInterface *) override
Definition: Auditor.cpp:145
gaudirun.type
type
Definition: gaudirun.py:160
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:496
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