The Gaudi Framework  v29r0 (ff2e7097)
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
 
- 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...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from Auditor
 Auditor (const 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
 
void beforeBeginRun (INamedInterface *) override
 
void afterBeginRun (INamedInterface *) override
 
void beforeEndRun (INamedInterface *) override
 
void afterEndRun (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 (const std::string &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 (const std::string &name, bool createIf=false) const
 
StatusCode setProperties ()
 Set the auditor's properties. More...
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
 PropertyHolder ()=default
 
 ~PropertyHolder () override=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, TYPE &value, const std::string &doc="none") const
 
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 Gaudi::Details::PropertyBase &p) override
 set the property form another property More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 set the property from name and the value More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (const std::string &name) const override
 get the property by name More...
 
StatusCode getProperty (const std::string &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 (const std::string &name) const override
 Return true if we have a property with the given name. More...
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none")
 Specializations for various GaudiHandles. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none")
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none")
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MSG::Level msgLevel () const
 get the output level from the embedded MsgStream More...
 
MSG::Level outputLevel () const __attribute__((deprecated))
 Backward compatibility function for getting the output level. More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces... >
 ~extend_interfaces () override=default
 Virtual destructor. 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 {this, "IncludeAlgorithms", {}, "Names of included algorithms."}
 
Gaudi::Property< std::vector< std::string > > m_excluded {this, "ExcludeAlgorithms", {}, "Names of excluded algorithms."}
 
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
typedef Gaudi::PluginService::Factory< IAuditor *, const std::string &, ISvcLocator * > Factory
 
- 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 PropertyHolder< CommonMessaging< implements< IAuditor, IProperty > > >
Gaudi::Details::PropertyBaseproperty (const std::string &name) const
 
- Protected Member Functions inherited from CommonMessaging< implements< IAuditor, IProperty > >
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Detailed Description

Definition at line 31 of file IntelProfilerAuditor.cpp.

Member Function Documentation

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

Definition at line 344 of file IntelProfilerAuditor.cpp.

345 {
346  // Skip unnecessary event types
347  if ( !( ( type == IAuditor::Execute ) && m_isStarted ) ) return;
348 
349  if ( ( m_nEvents + 1 ) % m_frames_rate == 0 ) {
350  __itt_frame_end_v3( domain, NULL );
351  }
352 
353  // Name of the current component
354  const std::string& name = i->name();
355  stack_entity state = m_stack.back();
356  // Remove component from stack.
357  m_stack.pop_back();
358 
359  if ( state.event != 0 ) {
360  debug() << stackIndent( true ) << "End event for " << name << endmsg;
361  __itt_event_end( state.event );
362 
363  if ( state.parent_event != 0 ) {
364  debug() << stackIndent() << "Resume event for " << state.parent_event << endmsg;
365  __itt_event_start( state.parent_event );
366  }
367  }
368 
369  if ( m_stack.empty() ) {
370  // Pause if there are no parent components (top algorithm).
371  pause();
372  } else if ( state.status ) {
373  // If the profiling is running and we have parent component that is
374  // paused then pause the profiling.
375  if ( !m_stack.back().status ) {
376  pause();
377  }
378  } else {
379  // If the profiling was stopped, but the parent component should be profiled
380  // then resume profiling.
381  if ( m_stack.back().status ) {
382  resume();
383  }
384  }
385 }
Gaudi::Property< int > m_frames_rate
STL class.
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
const std::string & name() const override
Definition: Auditor.cpp:202
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
virtual const std::string & name() const =0
Retrieve the name of the instance.
void IntelProfilerAuditor::before ( StandardEventType  type,
INamedInterface i 
)
override

Definition at line 297 of file IntelProfilerAuditor.cpp.

298 {
299  // Skip unnecessary event types.
300  if ( !( ( type == IAuditor::Execute ) && m_isStarted ) ) return;
301 
302  // Name of the current component.
303  const std::string& name = i->name();
304  // debug() << "Before: " << name << " " << type << endmsg;
305 
306  if ( isRunning() ) {
307  if ( isExcluded( name ) ) {
308  // If profiling is running and component is explicitly excluded
309  // then skip component.
310  skip_profiling_component( name );
311  } else {
312  // If profiling is running and component is'not explicitly excluded
313  // then start profiling for component (add to stack).
315  }
316  } else {
317  if ( hasIncludes() ) {
318  // If the profiling is not running and "includes" is explicitly defined ...
319  if ( isIncluded( name ) ) {
320  // and the current component is in the include's list then start the
321  // component profiling.
323  } else {
324  // and the current component is not in the includes list then skip
325  // a profiling of the component.
326  skip_profiling_component( name );
327  }
328  } else {
329  // If "Includes" property isn't present and the component is ...
330  if ( isExcluded( name ) ) {
331  // in the excludes list then skip a profiling
332  skip_profiling_component( name );
333  } else {
334  // not in the exclude list then start a profiling
336  }
337  }
338  }
339  if ( m_nEvents % m_frames_rate == 0 ) {
340  __itt_frame_begin_v3( domain, NULL );
341  }
342 }
void start_profiling_component(const std::string &name)
void skip_profiling_component(const std::string &name)
bool isExcluded(const std::string &name) const
Gaudi::Property< int > m_frames_rate
STL class.
bool isIncluded(const std::string &name) const
const std::string & name() const override
Definition: Auditor.cpp:202
virtual const std::string & name() const =0
Retrieve the name of the instance.
void IntelProfilerAuditor::handle ( const Incident incident)
override

Definition at line 280 of file IntelProfilerAuditor.cpp.

281 {
282  if ( IncidentType::BeginEvent != incident.type() ) return;
283  // Increment the event counter
284  ++m_nEvents;
285 
286  if ( m_nStartFromEvent == m_nEvents ) {
287  info() << "Start profiling (event #" << m_nEvents << ")" << endmsg;
288  start();
289  }
290 
291  if ( m_nStopAtEvent == m_nEvents ) {
292  info() << "Stop profiling (event #" << m_nEvents << ")" << endmsg;
293  stop();
294  }
295 }
Gaudi::Property< int > m_nStartFromEvent
Gaudi::Property< int > m_nStopAtEvent
const std::string & type() const
Access to the incident type.
Definition: Incident.h:41
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
bool IntelProfilerAuditor::hasIncludes ( ) const
private

Definition at line 201 of file IntelProfilerAuditor.cpp.

201 { return !m_included.empty(); }
Gaudi::Property< std::vector< std::string > > m_included
StatusCode IntelProfilerAuditor::initialize ( )
overridevirtual

Reimplemented from Auditor.

Definition at line 235 of file IntelProfilerAuditor.cpp.

236 {
237  info() << "Initialised" << endmsg;
238 
239  IIncidentSvc* inSvc = NULL;
240  const StatusCode sc = serviceLocator()->service( "IncidentSvc", inSvc );
241  if ( sc.isFailure() ) return sc;
242  // Useful to start profiling only after some event, we don't need profile
243  // initialization stage. For that we need to count events with BeginEvent
244  // listener.
245  inSvc->addListener( this, IncidentType::BeginEvent );
246  // If the end event number don't setup we finish profiling at the end
247  // of loop. We don't need profiling finalization stage.
248  inSvc->addListener( this, IncidentType::EndProcessing );
249 
250  std::string str_excluded, str_included, str_eventtypes;
251  for ( const auto& name : m_excluded ) {
252  str_excluded += " " + name;
253  }
254  for ( const auto& name : m_included ) {
255  str_included += " " + name;
256  }
257  for ( const auto& name : m_algs_for_tasktypes ) {
258  str_eventtypes += " " + name;
259  }
260 
261  if ( !m_included.empty() ) {
262  info() << "Included algorithms (" << m_included.size() << "): " << str_included << endmsg;
263  }
264 
265  if ( !m_excluded.empty() ) {
266  info() << "Excluded algorithms (" << m_excluded.size() << "): " << str_excluded << endmsg;
267  }
268 
269  if ( !m_algs_for_tasktypes.empty() ) {
270  info() << "Event types (" << m_algs_for_tasktypes.size() << "): " << str_eventtypes << endmsg;
271  }
272 
273  // Create a profiler domain for detection of slow events.
274  domain = __itt_domain_create( "Event loop" );
275  domain->flags = m_enable_frames;
276 
277  return StatusCode::SUCCESS;
278 }
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
Gaudi::Property< std::vector< std::string > > m_algs_for_tasktypes
Gaudi::Property< std::vector< std::string > > m_included
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
STL class.
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition: ISvcLocator.h:79
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
SmartIF< ISvcLocator > & serviceLocator() const override
The standard service locator.
Definition: Auditor.cpp:206
Gaudi::Property< std::vector< std::string > > m_excluded
Gaudi::Property< bool > m_enable_frames
virtual void addListener(IIncidentListener *lis, const std::string &type="", long priority=0, bool rethrow=false, bool singleShot=false)=0
Add listener.
const std::string & name() const override
Definition: Auditor.cpp:202
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:23
bool IntelProfilerAuditor::isExcluded ( const std::string name) const
private

Definition at line 208 of file IntelProfilerAuditor.cpp.

209 {
210  return std::find( m_excluded.begin(), m_excluded.end(), name ) != m_excluded.end();
211 }
Gaudi::Property< std::vector< std::string > > m_excluded
T find(T...args)
const std::string & name() const override
Definition: Auditor.cpp:202
bool IntelProfilerAuditor::isIncluded ( const std::string name) const
private

Definition at line 203 of file IntelProfilerAuditor.cpp.

204 {
205  return std::find( m_included.begin(), m_included.end(), name ) != m_included.end();
206 }
Gaudi::Property< std::vector< std::string > > m_included
T find(T...args)
const std::string & name() const override
Definition: Auditor.cpp:202
bool IntelProfilerAuditor::isRunning ( ) const
private

Definition at line 213 of file IntelProfilerAuditor.cpp.

213 { return !m_stack.empty() && m_stack.back().status; }
std::vector< stack_entity > m_stack
void IntelProfilerAuditor::pause ( )
private

Definition at line 180 of file IntelProfilerAuditor.cpp.

181 {
182  if ( !m_isStarted ) return;
183  debug() << stackIndent() << "Pause" << endmsg;
184  __itt_pause();
185 }
std::string stackIndent(bool newLevel=false) const
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
void IntelProfilerAuditor::resume ( )
private

Definition at line 173 of file IntelProfilerAuditor.cpp.

174 {
175  if ( !m_isStarted ) return;
176  debug() << stackIndent() << "Resume" << endmsg;
177  __itt_resume();
178 }
std::string stackIndent(bool newLevel=false) const
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
void IntelProfilerAuditor::skip_profiling_component ( const std::string name)
private

Definition at line 187 of file IntelProfilerAuditor.cpp.

188 {
189  if ( !m_isStarted ) return;
190  m_stack.push_back( stack_entity( name, false ) );
191  debug() << stackIndent() << "Skip component " << name << endmsg;
192 }
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
std::string IntelProfilerAuditor::stackIndent ( bool  newLevel = false) const
private

Definition at line 217 of file IntelProfilerAuditor.cpp.

218 {
219  std::stringstream indent( std::stringstream::out );
220  indent << std::setw( stackLevel() * 2 + ( newLevel ? 2 : 0 ) ) << " ";
221  return indent.str();
222 }
T setw(T...args)
int IntelProfilerAuditor::stackLevel ( ) const
private

Definition at line 215 of file IntelProfilerAuditor.cpp.

215 { return m_stack.size(); }
std::vector< stack_entity > m_stack
void IntelProfilerAuditor::start ( )
private

Definition at line 123 of file IntelProfilerAuditor.cpp.

124 {
125  m_isStarted = true;
126  __itt_resume();
127 }
void IntelProfilerAuditor::start_profiling_component ( const std::string name)
private

Definition at line 129 of file IntelProfilerAuditor.cpp.

130 {
131  if ( !m_isStarted ) return;
133  __itt_event taskId = 0;
134  TaskTypes::const_iterator iter = m_tasktypes.find( typeName );
135  if ( iter != m_tasktypes.end() ) {
136  taskId = iter->second;
137  }
138 
139  if ( !taskId && m_algs_for_tasktypes.empty() ) {
140  // Create event
141  taskId = __itt_event_create( typeName.c_str(), typeName.size() );
142  m_tasktypes.insert( TaskTypes::value_type( typeName, taskId ) );
143  }
144 
145  stack_entity state = stack_entity( name, true, taskId );
146  stack_entity* parent = !m_stack.empty() ? &m_stack.back() : NULL;
147 
148  if ( parent != NULL ) {
149  if ( parent->event ) {
150  state.parent_event = parent->event;
151  } else {
152  state.parent_event = parent->parent_event;
153  }
154  }
155 
156  if ( taskId && state.parent_event ) {
157  debug() << stackIndent() << "Pause event " << state.parent_event << endmsg;
158  __itt_event_end( state.parent_event );
159  }
160  m_stack.push_back( state );
161 
162  debug() << stackIndent() << "Start profiling component " << typeName << endmsg;
163 
164  if ( taskId ) {
165  // Start event
166  debug() << stackIndent() << "Start event type " << state.event << " for " << typeName << endmsg;
167  __itt_event_start( state.event );
168  }
169 
170  __itt_resume();
171 }
Gaudi::Property< std::vector< std::string > > m_algs_for_tasktypes
T end(T...args)
STL class.
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
T insert(T...args)
T find(T...args)
std::string taskTypeName(const std::string &component_name) const
T size(T...args)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
T c_str(T...args)
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:23
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209
void IntelProfilerAuditor::stop ( )
private

Definition at line 194 of file IntelProfilerAuditor.cpp.

195 {
196  if ( !m_isStarted ) return;
197  m_isStarted = false;
198  __itt_pause();
199 }
std::string IntelProfilerAuditor::taskTypeName ( const std::string component_name) const
private

Definition at line 224 of file IntelProfilerAuditor.cpp.

225 {
226  std::string result;
227  std::string delim = "";
228  for ( const auto& value : m_stack ) {
229  result += delim + value.name;
230  delim = m_alg_delim;
231  }
232  return result + m_alg_delim + component_name;
233 }
STL class.
std::vector< stack_entity > m_stack
Gaudi::Property< std::string > m_alg_delim

Member Data Documentation

__itt_domain* IntelProfilerAuditor::domain = nullptr
private

Definition at line 95 of file IntelProfilerAuditor.cpp.

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 77 of file IntelProfilerAuditor.cpp.

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 71 of file IntelProfilerAuditor.cpp.

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 80 of file IntelProfilerAuditor.cpp.

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

Definition at line 65 of file IntelProfilerAuditor.cpp.

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 82 of file IntelProfilerAuditor.cpp.

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

Definition at line 64 of file IntelProfilerAuditor.cpp.

bool IntelProfilerAuditor::m_isStarted = false
private

Definition at line 97 of file IntelProfilerAuditor.cpp.

int IntelProfilerAuditor::m_nEvents = 0
private

Definition at line 93 of file IntelProfilerAuditor.cpp.

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 66 of file IntelProfilerAuditor.cpp.

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 68 of file IntelProfilerAuditor.cpp.

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

Definition at line 99 of file IntelProfilerAuditor.cpp.

TaskTypes IntelProfilerAuditor::m_tasktypes
private

Definition at line 101 of file IntelProfilerAuditor.cpp.


The documentation for this class was generated from the following file: