Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Public Attributes | List of all members
PMonMT::EventLevelData Struct Reference

#include <PerfMonMTUtils.h>

Collaboration diagram for PMonMT::EventLevelData:

Public Types

typedef std::map< uint64_t, SnapshotMeasurementEventMeasMap_t
 

Public Member Functions

void recordEvent (const SnapshotMeasurement &meas, const int eventCount)
 
void set_wall_time_offset (const double wall_time_offset)
 
const EventMeasMap_tgetEventLevelData () const
 
uint64_t getNMeasurements () const
 
double getEventLevelCpuTime (const uint64_t event_count) const
 
double getEventLevelWallTime (const uint64_t event_count) const
 
int64_t getEventLevelMemory (const uint64_t event_count, const std::string &stat) const
 
int64_t getEventLevelMemoryMax (const std::string &stat) const
 

Public Attributes

EventMeasMap_t m_eventLevelDeltaMap
 
double m_offset_wall {}
 

Detailed Description

Definition at line 196 of file PerfMonMTUtils.h.

Member Typedef Documentation

◆ EventMeasMap_t

Definition at line 199 of file PerfMonMTUtils.h.

Member Function Documentation

◆ getEventLevelCpuTime()

double PMonMT::EventLevelData::getEventLevelCpuTime ( const uint64_t  event_count) const
inline

Definition at line 228 of file PerfMonMTUtils.h.

228  {
229  return m_eventLevelDeltaMap.at(event_count).cpu_time;
230  }

◆ getEventLevelData()

const EventMeasMap_t& PMonMT::EventLevelData::getEventLevelData ( ) const
inline

Definition at line 220 of file PerfMonMTUtils.h.

220  {
221  return m_eventLevelDeltaMap;
222  }

◆ getEventLevelMemory()

int64_t PMonMT::EventLevelData::getEventLevelMemory ( const uint64_t  event_count,
const std::string &  stat 
) const
inline

Definition at line 236 of file PerfMonMTUtils.h.

237  {
238  return m_eventLevelDeltaMap.at(event_count).mem_stats.at(stat);
239  }

◆ getEventLevelMemoryMax()

int64_t PMonMT::EventLevelData::getEventLevelMemoryMax ( const std::string &  stat) const
inline

Definition at line 241 of file PerfMonMTUtils.h.

241  {
242  int64_t result = 0;
243  for (const auto& it : getEventLevelData()) {
244  if (it.second.mem_stats.at(stat) > result) {
245  result = it.second.mem_stats.at(stat);
246  }
247  }
248  return result;
249  }

◆ getEventLevelWallTime()

double PMonMT::EventLevelData::getEventLevelWallTime ( const uint64_t  event_count) const
inline

Definition at line 232 of file PerfMonMTUtils.h.

232  {
233  return m_eventLevelDeltaMap.at(event_count).wall_time;
234  }

◆ getNMeasurements()

uint64_t PMonMT::EventLevelData::getNMeasurements ( ) const
inline

Definition at line 224 of file PerfMonMTUtils.h.

224  {
225  return m_eventLevelDeltaMap.size();
226  }

◆ recordEvent()

void PMonMT::EventLevelData::recordEvent ( const SnapshotMeasurement meas,
const int  eventCount 
)
inline

Definition at line 203 of file PerfMonMTUtils.h.

203  {
204 
205  // Timing
206  m_eventLevelDeltaMap[eventCount].cpu_time = meas.cpu_time;
207  m_eventLevelDeltaMap[eventCount].wall_time = meas.wall_time - m_offset_wall;
208 
209  // Memory
210  m_eventLevelDeltaMap[eventCount].mem_stats = meas.mem_stats;
211 
212  }

◆ set_wall_time_offset()

void PMonMT::EventLevelData::set_wall_time_offset ( const double  wall_time_offset)
inline

Definition at line 218 of file PerfMonMTUtils.h.

218 { m_offset_wall = wall_time_offset; }

Member Data Documentation

◆ m_eventLevelDeltaMap

EventMeasMap_t PMonMT::EventLevelData::m_eventLevelDeltaMap

Definition at line 200 of file PerfMonMTUtils.h.

◆ m_offset_wall

double PMonMT::EventLevelData::m_offset_wall {}

Definition at line 215 of file PerfMonMTUtils.h.


The documentation for this struct was generated from the following file:
get_generator_info.result
result
Definition: get_generator_info.py:21
skel.it
it
Definition: skel.GENtoEVGEN.py:407
PMonMT::EventLevelData::getEventLevelData
const EventMeasMap_t & getEventLevelData() const
Definition: PerfMonMTUtils.h:220
beamspotman.stat
stat
Definition: beamspotman.py:266
PMonMT::EventLevelData::m_eventLevelDeltaMap
EventMeasMap_t m_eventLevelDeltaMap
Definition: PerfMonMTUtils.h:200
PMonMT::EventLevelData::m_offset_wall
double m_offset_wall
Definition: PerfMonMTUtils.h:215