ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_Core
ISF_Tools
src
MemoryMonitoringTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// MemoryMonitoringTool.h, (c) ATLAS Detector software
8
9
#ifndef ISF_TOOLS_MEMORYMONITORINGTOOL_H
10
#define ISF_TOOLS_MEMORYMONITORINGTOOL_H 1
11
12
// Gaudi & Athena basics
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
15
// ISF includes
16
#include "
ISF_Interfaces/IMonitoringTool.h
"
17
18
19
// stl includes
20
#include <utility>
21
#include <vector>
22
23
namespace
ISF
{
24
26
typedef
std::pair <const char* , int>
InfoUsagePair
;
27
typedef
std::vector <InfoUsagePair*>
InfoUsagePairVector
;
28
29
37
class
MemoryMonitoringTool
:
public
extends<AthAlgTool, IMonitoringTool> {
38
39
public
:
41
MemoryMonitoringTool
(
const
std::string& t,
const
std::string& n,
const
IInterface* p );
42
44
~MemoryMonitoringTool
();
45
46
// Athena algtool's Hooks
47
StatusCode
initialize
();
48
StatusCode
finalize
();
49
51
virtual
double
getCurrent
()
const
;
52
54
virtual
void
dumpCurrent
(
const
char
*infoStr,
55
bool
considerInSummary);
56
58
virtual
void
recordCurrent
(
const
char
*infoStr);
59
61
virtual
void
dumpSummary
(
const
char
*dumpCallDescr)
const
;
62
63
private
:
65
int
computeCurMemoryUsage
()
const
;
66
68
unsigned
int
m_numCalls
;
69
unsigned
int
m_prevCallMemUsage
;
70
double
m_accumulatedCallMemory
;
71
double
m_accumulatedIncrMemory
;
72
74
InfoUsagePairVector
m_table
;
75
76
};
77
78
}
79
80
81
#endif
//> !ISF_TOOLS_MEMORYMONITORINGTOOL_H
AthAlgTool.h
IMonitoringTool.h
ISF::MemoryMonitoringTool::getCurrent
virtual double getCurrent() const
return current memory usage in kBytes
Definition
MemoryMonitoringTool.cxx:60
ISF::MemoryMonitoringTool::recordCurrent
virtual void recordCurrent(const char *infoStr)
store the current memory monitoring information internally
Definition
MemoryMonitoringTool.cxx:93
ISF::MemoryMonitoringTool::m_prevCallMemUsage
unsigned int m_prevCallMemUsage
Definition
MemoryMonitoringTool.h:69
ISF::MemoryMonitoringTool::dumpSummary
virtual void dumpSummary(const char *dumpCallDescr) const
dump all internally stored memory monitoring information
Definition
MemoryMonitoringTool.cxx:108
ISF::MemoryMonitoringTool::MemoryMonitoringTool
MemoryMonitoringTool(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition
MemoryMonitoringTool.cxx:16
ISF::MemoryMonitoringTool::m_accumulatedCallMemory
double m_accumulatedCallMemory
Definition
MemoryMonitoringTool.h:70
ISF::MemoryMonitoringTool::initialize
StatusCode initialize()
Athena algtool Hooks.
Definition
MemoryMonitoringTool.cxx:41
ISF::MemoryMonitoringTool::~MemoryMonitoringTool
~MemoryMonitoringTool()
Destructor.
Definition
MemoryMonitoringTool.cxx:29
ISF::MemoryMonitoringTool::finalize
StatusCode finalize()
Athena algtool Hook.
Definition
MemoryMonitoringTool.cxx:51
ISF::MemoryMonitoringTool::m_numCalls
unsigned int m_numCalls
needed to compute per event stats
Definition
MemoryMonitoringTool.h:68
ISF::MemoryMonitoringTool::m_accumulatedIncrMemory
double m_accumulatedIncrMemory
Definition
MemoryMonitoringTool.h:71
ISF::MemoryMonitoringTool::dumpCurrent
virtual void dumpCurrent(const char *infoStr, bool considerInSummary)
dump current memory monitoring information
Definition
MemoryMonitoringTool.cxx:66
ISF::MemoryMonitoringTool::m_table
InfoUsagePairVector m_table
storing all (infoStr,memUsage) pairs created in recordCurrent(..) calls
Definition
MemoryMonitoringTool.h:74
ISF::MemoryMonitoringTool::computeCurMemoryUsage
int computeCurMemoryUsage() const
consolidate /proc to determine current memory usage
Definition
MemoryMonitoringTool.cxx:138
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
ISF::InfoUsagePair
std::pair< const char *, int > InfoUsagePair
these datatypes used to store (infoStr,memUsage) paired info
Definition
MemoryMonitoringTool.h:26
ISF::InfoUsagePairVector
std::vector< InfoUsagePair * > InfoUsagePairVector
Definition
MemoryMonitoringTool.h:27
Generated on
for ATLAS Offline Software by
1.17.0