ATLAS Offline Software
Static Public Member Functions | List of all members
PerfUtils Class Reference

#include <PerfUtils.h>

Collaboration diagram for PerfUtils:

Static Public Member Functions

static int getMem ()
 
static void getCpu (int &uTime, int &sTime)
 

Detailed Description

Definition at line 15 of file PerfUtils.h.

Member Function Documentation

◆ getCpu()

void PerfUtils::getCpu ( int &  uTime,
int &  sTime 
)
static

Definition at line 39 of file PerfUtils.cxx.

39  {
40  // return ms
41  pid_t pid = getpid();
42  std::ostringstream procstream;
43  procstream << "/proc/" << pid << "/stat";
44  std::ifstream memfile(procstream.str());
45  std::string longString;
46  memfile >> longString;
47 
48  int nblancks = 0;
49  uTime = 0;
50  sTime = 0;
51 
52  char line[256];
53  while ((memfile >> line)) {
54  nblancks++;
55  if (nblancks == 13) {
56  memfile >> line;
57  std::istringstream istream(line);
58  istream >> uTime;
59  uTime = uTime * 10;
60  memfile >> line;
61  std::istringstream istream1(line);
62  istream1 >> sTime;
63  sTime = sTime * 10;
64  return;
65  }
66  }
67 }

◆ getMem()

int PerfUtils::getMem ( )
static

Definition at line 17 of file PerfUtils.cxx.

17  {
18  int memSize = 0;
19  pid_t pid = getpid();
20  std::ostringstream procstream;
21  procstream << "/proc/" << pid << "/status";
22  std::ifstream memfile(procstream.str());
23  std::string line;
24  if (memfile.is_open()) {
25  while (std::getline(memfile, line)) {
26  std::size_t pos = line.find("VmSize:");
27  if (pos != std::string::npos) {
28  std::string myStr = line.substr(pos + 7);
29  myStr.erase(std::remove(myStr.begin(), myStr.end(), ' '), myStr.end());
30  myStr.erase(std::remove(myStr.begin(), myStr.end(), '\t'), myStr.end());
31  memSize = std::atoi(myStr.substr(0, myStr.find("kB")).c_str());
32  }
33  }
34  memfile.close();
35  }
36  return memSize;
37 }

The documentation for this class was generated from the following files:
checkxAOD.memSize
memSize
Definition: Tools/PyUtils/bin/checkxAOD.py:156
pid_t
int32_t pid_t
Definition: FPGATrackSimTypes.h:19
checkFileSG.line
line
Definition: checkFileSG.py:75
PixelModuleFeMask_create_db.remove
string remove
Definition: PixelModuleFeMask_create_db.py:83
ParticleGun_EoverP_Config.pid
pid
Definition: ParticleGun_EoverP_Config.py:62
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
CxxUtils::atoi
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
Definition: Control/CxxUtils/Root/StringUtils.cxx:85