Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef PERFMONCOMPS_PERFMONMTUTILS_H
10 #define PERFMONCOMPS_PERFMONMTUTILS_H
60 const char *
symb2lib(
const char* symbol,
const char* failstr);
69 return std::make_pair(this->stepName, this->compName) < std::make_pair(
sc.stepName,
sc.compName);
237 const std::string&
stat)
const {
315 struct timespec ctime;
316 clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ctime);
319 return static_cast<double>(ctime.tv_sec * 1.e3 + ctime.tv_nsec * 1.e-6);
351 static const std::string
fileName =
"/proc/self/smaps";
363 if (
key ==
"Size:") {
372 if (
key ==
"Swap:") {
387 static const std::string
fileName =
"/proc/self/statm";
390 std::string vmem_in_pages{},
line{};
393 if (getline(statm_file,
line)) {
394 std::stringstream
ss{
line};
398 static const double page_size = sysconf(_SC_PAGESIZE) / 1024.0;
399 result = std::stod(vmem_in_pages) * page_size;
406 for (
auto it : map1) {
407 result_map[
it.first] = map1.at(
it.first) - map2.at(
it.first);
427 struct mallinfo2
m = mallinfo2();
428 return (
m.uordblks+
m.hblkhd)/1024.0;
436 void * addr = dlsym(RTLD_DEFAULT,symbol);
437 if (!addr)
return failstr;
439 if (!dladdr(addr, &di))
return failstr;
440 if (!di.dli_fname)
return failstr;
444 #endif // PERFMONCOMPS_PERFMONMTUTILS_H
double get_malloc_kb ATLAS_NOT_THREAD_SAFE()
const char * symb2lib(const char *symbol, const char *failstr)
void addPointStart(const ComponentMeasurement &meas, const bool doMem=false)
int64_t getMemMonDeltaMap(const std::string &mem_stat) const
void add2DeltaWall(double val)
uint64_t getCallCount() const
bool operator<(const StepComp &sc) const
void add2DeltaWall(double val)
double PMonMT::get_malloc_kb ATLAS_NOT_THREAD_SAFE()
Install fatal handler with default options.
double getDeltaCPU() const
double get_process_cpu_time()
bool capture_memory ATLAS_NOT_THREAD_SAFE()
MemoryMap_t operator-(const MemoryMap_t &map1, const MemoryMap_t &map2)
void add2DeltaMalloc(double val)
const EventMeasMap_t & getEventLevelData() const
void add2DeltaCPU(double val)
int64_t getEventLevelMemoryMax(const std::string &stat) const
void add2DeltaVmem(double val)
double getDeltaWall() const
EventMeasMap_t m_eventLevelDeltaMap
MemoryMap_t m_memMonDeltaMap
int64_t getEventLevelMemory(const uint64_t event_count, const std::string &stat) const
MemoryMap_t get_mem_stats()
void set_wall_time_offset(const double wall_time_offset)
double getDeltaVmem() const
uint64_t getNMeasurements() const
void add2DeltaCPU(double val)
double getDeltaMalloc() const
std::map< std::string, int64_t > MemoryMap_t
void addPointStart(const SnapshotMeasurement &meas)
void add2CallCount(uint64_t val)
void addPointStop(const SnapshotMeasurement &meas)
void addPointStop(const ComponentMeasurement &meas, const bool doMem=false)
double getDeltaWall() const
double get_thread_cpu_time()
Define macros for attributes used to control the static checker.
std::map< uint64_t, SnapshotMeasurement > EventMeasMap_t
bool doesDirectoryExist(const std::string &dir)
double getDeltaCPU() const
double getEventLevelWallTime(const uint64_t event_count) const
MemoryMap_t m_memMonTmpMap
void recordEvent(const SnapshotMeasurement &meas, const int eventCount)
double getEventLevelCpuTime(const uint64_t event_count) const