All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IntelProfilerAuditor Class Reference
Inheritance diagram for IntelProfilerAuditor:
Collaboration diagram for IntelProfilerAuditor:

Classes

struct  stack_entity
 

Public Member Functions

 IntelProfilerAuditor (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
void handle (const Incident &incident)
 Inform that a new incident has occurred. More...
 
void before (StandardEventType type, INamedInterface *i)
 The following methods are meant to be implemented by the child class... More...
 
void after (StandardEventType type, INamedInterface *i, const StatusCode &sc)
 Audit the end of a standard "event". More...
 
- Public Member Functions inherited from Auditor
 Auditor (const std::string &name, ISvcLocator *svcloc)
 Constructor. More...
 
virtual ~Auditor ()
 Destructor. More...
 
StatusCode sysInitialize ()
 Initialization method invoked by the framework. More...
 
StatusCode sysFinalize ()
 Finalization method invoked by the framework. More...
 
virtual void before (StandardEventType, const std::string &)
 Audit the start of a standard "event" for callers that do not implement INamedInterface. More...
 
virtual void before (CustomEventTypeRef, INamedInterface *)
 Audit the start of a custom "event". More...
 
virtual void before (CustomEventTypeRef, const std::string &)
 Audit the start of a custom "event" for callers that do not implement INamedInterface. More...
 
virtual void after (StandardEventType, const std::string &, const StatusCode &)
 Audit the end of a standard "event" for callers that do not implement INamedInterface. More...
 
virtual void after (CustomEventTypeRef, INamedInterface *, const StatusCode &)
 Audit the end of a custom "event". More...
 
virtual void after (CustomEventTypeRef, const std::string &, const StatusCode &)
 Audit the end of a custom "event" for callers that do not implement INamedInterface. More...
 
virtual void beforeInitialize (INamedInterface *)
 
virtual void afterInitialize (INamedInterface *)
 
virtual void beforeReinitialize (INamedInterface *)
 
virtual void afterReinitialize (INamedInterface *)
 
virtual void beforeExecute (INamedInterface *)
 
virtual void afterExecute (INamedInterface *, const StatusCode &)
 
virtual void beforeFinalize (INamedInterface *)
 
virtual void afterFinalize (INamedInterface *)
 
virtual void beforeBeginRun (INamedInterface *)
 
virtual void afterBeginRun (INamedInterface *)
 
virtual void beforeEndRun (INamedInterface *)
 
virtual void afterEndRun (INamedInterface *)
 
virtual StatusCode finalize ()
 
virtual const std::string & name () const
 Retrieve the name of the instance. More...
 
virtual bool isEnabled () const
 Tell if the auditor is enabled or not. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
int outputLevel () const
 Retrieve the output level of current auditor. More...
 
void setOutputLevel (int level)
 Set the output level for current auditor. More...
 
SmartIF< ISvcLocator > & serviceLocator () const
 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...
 
virtual StatusCode setProperty (const Property &p)
 Set a value of a property of an auditor. More...
 
virtual StatusCode setProperty (const std::string &s)
 Implementation of IProperty::setProperty. More...
 
virtual StatusCode setProperty (const std::string &n, const std::string &v)
 Implementation of IProperty::setProperty. More...
 
virtual StatusCode getProperty (Property *p) const
 Get the value of a property. More...
 
virtual const PropertygetProperty (const std::string &name) const
 Get the property by name. More...
 
virtual StatusCode getProperty (const std::string &n, std::string &v) const
 Implementation of IProperty::getProperty. More...
 
const std::vector< Property * > & getProperties () const
 Get all properties. More...
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode setProperties ()
 Set the auditor's properties. More...
 
template<class T >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property. More...
 
- Public Member Functions inherited from extend_interfaces2< IAuditor, IProperty >
virtual ~extend_interfaces2 ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IAuditor
 DeclareInterfaceID (IAuditor, 3, 0)
 InterfaceID. More...
 
- Public Member Functions inherited from INamedInterface
 DeclareInterfaceID (INamedInterface, 1, 0)
 InterfaceID. More...
 
virtual ~INamedInterface ()
 Virtual destructor (always needed for abstract classes). More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::string > getInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IProperty
 DeclareInterfaceID (IProperty, 2, 0)
 InterfaceID. More...
 
- Public Member Functions inherited from IIncidentListener
 DeclareInterfaceID (IIncidentListener, 2, 0)
 InterfaceID. 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

int m_nStartFromEvent
 
int m_nStopAtEvent
 
std::vector< std::string > m_excluded
 
std::vector< std::string > m_included
 
std::vector< std::string > m_algs_for_tasktypes
 
std::string m_alg_delim
 
bool m_enable_frames
 
int m_frames_rate
 
MsgStream m_log
 
int m_nEvents
 
__itt_domain * domain
 
bool m_isStarted
 
std::vector< stack_entitym_stack
 
TaskTypes m_tasktypes
 

Additional Inherited Members

- Public Types inherited from Auditor
typedef
Gaudi::PluginService::Factory
< IAuditor *, const
std::string &, ISvcLocator * > 
Factory
 
- Public Types inherited from implements2< IAuditor, IProperty >
typedef implements2 base_class
 Typedef to this class. More...
 
typedef extend_interfaces2
< IAuditor, IProperty
extend_interfaces_base
 Typedef to the base of this class. More...
 
typedef
extend_interfaces_base::ext_iids 
interfaces
 MPL set of all the implemented interfaces. More...
 
- Public Types inherited from extend_interfaces2< IAuditor, IProperty >
typedef mpl::fold< typename
IAuditor::iid::iids::type,
typename
IProperty::iid::iids::type,
mpl::insert< mpl::_1, mpl::_2 >
>::type 
ext_iids
 MPL set of interfaces extended by this one. More...
 
- Public Types inherited from IAuditor
enum  StandardEventType {
  Initialize, ReInitialize, Execute, BeginRun,
  EndRun, Finalize, Start, Stop,
  ReStart
}
 Defines the standard (= used by the framework) auditable event types. More...
 
typedef std::string CustomEventType
 Type used to allow users to specify a custom event to be audit. More...
 
typedef const CustomEventTypeCustomEventTypeRef
 Used in function calls for optimization purposes. More...
 
- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID. More...
 
typedef mpl::set1< iidext_iids
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

Definition at line 34 of file IntelProfilerAuditor.cpp.

Constructor & Destructor Documentation

IntelProfilerAuditor::IntelProfilerAuditor ( const std::string &  name,
ISvcLocator pSvcLocator 
)

Definition at line 122 of file IntelProfilerAuditor.cpp.

123  : Auditor(name, pSvcLocator), m_log(msgSvc(), name)
124  ,m_nEvents(0), m_isStarted(false) {
125  // ## Properties
126  declareProperty("IncludeAlgorithms", m_included,
127  "Names of included algorithms."
128  );
129  declareProperty("ExcludeAlgorithms", m_excluded,
130  "Names of excluded algorithms."
131  );
132  declareProperty("StartFromEventN", m_nStartFromEvent = 1,
133  "After what event we stop profiling. "
134  "If 0 than we also profile finalization stage."
135  );
136  declareProperty("StopAtEventN", m_nStopAtEvent = 0,
137  "After what event we stop profiling. "
138  "If 0 than we also profile finalization stage. Default = 0."
139  );
140  declareProperty("ComponentsForTaskTypes", m_algs_for_tasktypes,
141  "Algorithm name, for which intel amplifier task type will be created."
142  "By default all algorithms have a corresponding task type.");
143  declareProperty("TaskTypeNameDelimeter", m_alg_delim = " ",
144  "The String delimiter between sequences/algorithms names in "
145  "\"Task Type\" grouping at Amplifier. Default=\" \"."
146  );
147  declareProperty("EnableFrames", m_enable_frames = false,
148  "Enable frames (needed for detecting slow events). Default=false."
149  );
150  declareProperty("FramesRate", m_frames_rate = 100,
151  "Frames rate. The recommended maximum rate for calling the Frame API is "
152  "1000 frames (events) per second. A higher rate may result in large product"
153  " memory consumption and slow finalization. "
154  "You need update \"slow-frames-threshold\" and \"fast-frames-threshold\" "
155  "parameters of amplxe-cl tool to separate slow, medium and fast events. "
156  "For use frames you need to switch on \"EnableFrames\". "
157  "Default=100"
158  );
159 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
Definition: Auditor.cpp:226
std::vector< std::string > m_algs_for_tasktypes
std::vector< std::string > m_excluded
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: Auditor.h:235
Auditor(const std::string &name, ISvcLocator *svcloc)
Constructor.
Definition: Auditor.cpp:14
std::vector< std::string > m_included

Member Function Documentation

void IntelProfilerAuditor::after ( StandardEventType  ,
INamedInterface ,
const StatusCode sc 
)
virtual

Audit the end of a standard "event".

Reimplemented from Auditor.

Definition at line 397 of file IntelProfilerAuditor.cpp.

398  {
399  // Skip unnecessary event types
400  if (!((type == IAuditor::Execute) && m_isStarted)) return;
401 
402  if ((m_nEvents+1) % m_frames_rate == 0) {
403  __itt_frame_end_v3(domain, NULL);
404  }
405 
406  // Name of the current component
407  const std::string& name = i->name();
408  stack_entity state = m_stack.back();
409  // Remove component from stack.
410  m_stack.pop_back();
411 
412 
413  if (state.event != 0) {
414  m_log << MSG::DEBUG << stackIndent(true) << "End event for "
415  << name << endmsg;
416  __itt_event_end(state.event);
417 
418  if (state.parent_event != 0) {
419  m_log << MSG::DEBUG << stackIndent() << "Resume event for "
420  << state.parent_event << endmsg;
421  __itt_event_start(state.parent_event);
422  }
423  }
424 
425  if (m_stack.empty()) {
426  // Pause if there are no parent components (top algorithm).
427  pause();
428  } else if (state.status) {
429  // If the profiling is running and we have parent component that is
430  // paused then pause the profiling.
431  if (!m_stack.back().status) {
432  pause();
433  }
434  }else {
435  // If the profiling was stopped, but the parent component should be profiled
436  // then resume profiling.
437  if (m_stack.back().status) {
438  resume();
439  }
440  }
441 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
string type
Definition: gaudirun.py:126
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
list i
Definition: ana.py:128
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
void IntelProfilerAuditor::before ( StandardEventType  evt,
INamedInterface obj 
)
virtual

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

Reimplemented from Auditor.

Definition at line 350 of file IntelProfilerAuditor.cpp.

350  {
351  // Skip unnecessary event types.
352  if (!((type == IAuditor::Execute) && m_isStarted)) return;
353 
354  // Name of the current component.
355  const std::string& name = i->name();
356  //m_log << MSG::DEBUG << "Before: " << name << " " << type << endmsg;
357 
358  if (isRunning()) {
359  if (isExcluded(name)) {
360  // If profiling is running and component is explicitly excluded
361  // then skip component.
363  }else{
364  // If profiling is running and component is'not explicitly excluded
365  // then start profiling for component (add to stack).
367  }
368  }else {
369  if (hasIncludes()) {
370  // If the profiling is not running and "includes" is explicitly defined ...
371  if (isIncluded(name)) {
372  // and the current component is in the include's list then start the
373  // component profiling.
375  } else{
376  // and the current component is not in the includes list then skip
377  // a profiling of the component.
379  }
380  }else {
381  // If "Includes" property isn't present and the component is ...
382  if (isExcluded(name)) {
383  // in the excludes list then skip a profiling
385  }else{
386  // not in the exclude list then start a profiling
388  }
389  }
390  }
391  if (m_nEvents % m_frames_rate == 0) {
392  __itt_frame_begin_v3(domain, NULL);
393  }
394 
395 }
void start_profiling_component(const std::string &name)
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
void skip_profiling_component(const std::string &name)
bool isExcluded(const std::string &name) const
string type
Definition: gaudirun.py:126
bool isIncluded(const std::string &name) const
list i
Definition: ana.py:128
void IntelProfilerAuditor::handle ( const Incident )
virtual

Inform that a new incident has occurred.

Implements IIncidentListener.

Definition at line 332 of file IntelProfilerAuditor.cpp.

332  {
333  if (IncidentType::BeginEvent != incident.type()) return;
334  // Increment the event counter
335  ++m_nEvents;
336 
337  if (m_nStartFromEvent == m_nEvents) {
338  m_log << MSG::INFO << "Start profiling (event #" << m_nEvents << ")"
339  << endmsg;
340  start();
341  }
342 
343  if (m_nStopAtEvent == m_nEvents) {
344  m_log << MSG::INFO << "Stop profiling (event #" << m_nEvents << ")"
345  << endmsg;
346  stop();
347  }
348 }
const std::string BeginEvent
Processing of a new event has started.
Definition: Incident.h:60
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool IntelProfilerAuditor::hasIncludes ( ) const
private

Definition at line 237 of file IntelProfilerAuditor.cpp.

237  {
238  return !m_included.empty();
239 }
std::vector< std::string > m_included
StatusCode IntelProfilerAuditor::initialize ( )
virtual

Reimplemented from Auditor.

Definition at line 277 of file IntelProfilerAuditor.cpp.

277  {
279  m_log << MSG::INFO << "Initialised" << endmsg;
280 
281  IIncidentSvc * inSvc = NULL;
282  const StatusCode sc = serviceLocator()->service("IncidentSvc", inSvc);
283  if (sc.isFailure())
284  return sc;
285  // Useful to start profiling only after some event, we don't need profile
286  // initialization stage. For that we need to count events with BeginEvent
287  // listener.
289  // If the end event number don't setup we finish profiling at the end
290  // of loop. We don't need profiling finalization stage.
292 
293  std::string str_excluded, str_included, str_eventtypes;
294  BOOST_FOREACH(const std::string& name, m_excluded)
295  {
296  str_excluded += " " + name;
297  }
298  BOOST_FOREACH(const std::string& name, m_included)
299  {
300  str_included += " " + name;
301  }
302 
303  BOOST_FOREACH(const std::string& name, m_algs_for_tasktypes)
304  {
305  str_eventtypes += " " + name;
306  }
307 
308  if (!m_included.empty()) {
309  m_log << MSG::INFO << "Included algorithms (" << m_included.size()
310  << "): " << str_included << endmsg;
311  }
312 
313  if (!m_excluded.empty()){
314  m_log << MSG::INFO << "Excluded algorithms (" << m_excluded.size()
315  << "): " << str_excluded << endmsg;
316  }
317 
318  if (!m_algs_for_tasktypes.empty()){
319  m_log << MSG::INFO << "Event types (" << m_algs_for_tasktypes.size()
320  << "): " << str_eventtypes << endmsg;
321  }
322 
323  // Create a profiler domain for detection of slow events.
324  domain = __itt_domain_create("Event loop");
325  domain->flags = m_enable_frames;
326 
327  return StatusCode::SUCCESS;
328 }
const std::string BeginEvent
Processing of a new event has started.
Definition: Incident.h:60
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
std::vector< std::string > m_algs_for_tasktypes
const std::string EndProcessing
Incident raised just after the loop over the algorithms (note: before the execution of OutputStreams)...
Definition: Incident.h:86
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:85
std::vector< std::string > m_excluded
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
SmartIF< ISvcLocator > & serviceLocator() const
The standard service locator.
Definition: Auditor.cpp:236
virtual void addListener(IIncidentListener *lis, const std::string &type="", long priority=0, bool rethrow=false, bool singleShot=false)=0
Add listener.
void setLevel(int level)
Update outputlevel.
Definition: MsgStream.h:106
int outputLevel() const
Retrieve the output level of current auditor.
Definition: Auditor.h:105
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:22
std::vector< std::string > m_included
bool IntelProfilerAuditor::isExcluded ( const std::string &  name) const
private

Definition at line 246 of file IntelProfilerAuditor.cpp.

246  {
247  return std::find(m_excluded.begin(), m_excluded.end(), name) !=
248  m_excluded.end();
249 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
std::vector< std::string > m_excluded
bool IntelProfilerAuditor::isIncluded ( const std::string &  name) const
private

Definition at line 241 of file IntelProfilerAuditor.cpp.

241  {
242  return std::find(m_included.begin(), m_included.end(), name) !=
243  m_included.end();
244 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
std::vector< std::string > m_included
bool IntelProfilerAuditor::isRunning ( ) const
private

Definition at line 251 of file IntelProfilerAuditor.cpp.

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

Definition at line 218 of file IntelProfilerAuditor.cpp.

218  {
219  if (!m_isStarted) return;
220  m_log << MSG::DEBUG << stackIndent() << "Pause" << endmsg;
221  __itt_pause();
222 }
std::string stackIndent(bool newLevel=false) const
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
void IntelProfilerAuditor::resume ( )
private

Definition at line 212 of file IntelProfilerAuditor.cpp.

212  {
213  if (!m_isStarted) return;
214  m_log << MSG::DEBUG << stackIndent() << "Resume" << endmsg;
215  __itt_resume();
216 }
std::string stackIndent(bool newLevel=false) const
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
void IntelProfilerAuditor::skip_profiling_component ( const std::string &  name)
private

Definition at line 224 of file IntelProfilerAuditor.cpp.

224  {
225  if (!m_isStarted) return;
226  m_stack.push_back(stack_entity(name, false));
227  m_log << MSG::DEBUG << stackIndent() << "Skip component "
228  << name << endmsg;
229 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
std::string IntelProfilerAuditor::stackIndent ( bool  newLevel = false) const
private

Definition at line 259 of file IntelProfilerAuditor.cpp.

259  {
260  std::stringstream indent(std::stringstream::out);
261  indent << std::setw(stackLevel()*2+(newLevel?2:0)) << " ";
262  return indent.str();
263 }
int IntelProfilerAuditor::stackLevel ( ) const
private

Definition at line 255 of file IntelProfilerAuditor.cpp.

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

Definition at line 161 of file IntelProfilerAuditor.cpp.

161  {
162  m_isStarted = true;
163  __itt_resume();
164 }
void IntelProfilerAuditor::start_profiling_component ( const std::string &  name)
private

Definition at line 166 of file IntelProfilerAuditor.cpp.

166  {
167  if (!m_isStarted) return;
168  std::string typeName = taskTypeName(name);
169  __itt_event taskId = 0;
170  TaskTypes::const_iterator iter = m_tasktypes.find(typeName);
171  if( iter != m_tasktypes.end()) {
172  taskId = iter->second;
173  }
174 
175  if(!taskId && m_algs_for_tasktypes.empty()) {
176  // Create event
177  taskId = __itt_event_create(typeName.c_str(), typeName.size());
178  m_tasktypes.insert(TaskTypes::value_type(typeName, taskId));
179  }
180 
181  stack_entity state = stack_entity(name, true, taskId);
182  stack_entity* parent = !m_stack.empty()?&m_stack.back():NULL;
183 
184  if (parent != NULL) {
185  if (parent->event) {
186  state.parent_event = parent->event;
187  } else {
188  state.parent_event = parent->parent_event;
189  }
190  }
191 
192  if (taskId && state.parent_event) {
193  m_log << MSG::DEBUG << stackIndent() << "Pause event " <<
194  state.parent_event << endmsg;
195  __itt_event_end(state.parent_event);
196  }
197  m_stack.push_back(state);
198 
199  m_log << MSG::DEBUG << stackIndent() << "Start profiling component "
200  << typeName << endmsg;
201 
202  if (taskId) {
203  // Start event
204  m_log << MSG::DEBUG << stackIndent() << "Start event type "
205  << state.event << " for " << typeName << endmsg;
206  __itt_event_start(state.event);
207  }
208 
209  __itt_resume();
210 }
virtual const std::string & name() const
Retrieve the name of the instance.
Definition: Auditor.cpp:218
std::vector< std::string > m_algs_for_tasktypes
std::vector< stack_entity > m_stack
std::string stackIndent(bool newLevel=false) const
std::string taskTypeName(const std::string &component_name) const
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:22
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
void IntelProfilerAuditor::stop ( )
private

Definition at line 231 of file IntelProfilerAuditor.cpp.

231  {
232  if (!m_isStarted) return;
233  m_isStarted = false;
234  __itt_pause();
235 }
std::string IntelProfilerAuditor::taskTypeName ( const std::string &  component_name) const
private

Definition at line 266 of file IntelProfilerAuditor.cpp.

266  {
267  std::string result;
268  std::string delim = "";
269  BOOST_FOREACH(const stack_entity& value,
270  m_stack) {
271  result += delim+value.name;
272  delim = m_alg_delim;
273  }
274  return result+m_alg_delim+component_name;
275 }
std::vector< stack_entity > m_stack

Member Data Documentation

__itt_domain* IntelProfilerAuditor::domain
private

Definition at line 94 of file IntelProfilerAuditor.cpp.

std::string IntelProfilerAuditor::m_alg_delim
private

Definition at line 79 of file IntelProfilerAuditor.cpp.

std::vector<std::string> IntelProfilerAuditor::m_algs_for_tasktypes
private

Definition at line 76 of file IntelProfilerAuditor.cpp.

bool IntelProfilerAuditor::m_enable_frames
private

Definition at line 81 of file IntelProfilerAuditor.cpp.

std::vector<std::string> IntelProfilerAuditor::m_excluded
private

Definition at line 72 of file IntelProfilerAuditor.cpp.

int IntelProfilerAuditor::m_frames_rate
private

Definition at line 87 of file IntelProfilerAuditor.cpp.

std::vector<std::string> IntelProfilerAuditor::m_included
private

Definition at line 74 of file IntelProfilerAuditor.cpp.

bool IntelProfilerAuditor::m_isStarted
private

Definition at line 96 of file IntelProfilerAuditor.cpp.

MsgStream IntelProfilerAuditor::m_log
private

Definition at line 90 of file IntelProfilerAuditor.cpp.

int IntelProfilerAuditor::m_nEvents
private

Definition at line 92 of file IntelProfilerAuditor.cpp.

int IntelProfilerAuditor::m_nStartFromEvent
private

Definition at line 67 of file IntelProfilerAuditor.cpp.

int IntelProfilerAuditor::m_nStopAtEvent
private

Definition at line 70 of file IntelProfilerAuditor.cpp.

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

Definition at line 98 of file IntelProfilerAuditor.cpp.

TaskTypes IntelProfilerAuditor::m_tasktypes
private

Definition at line 100 of file IntelProfilerAuditor.cpp.


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