LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
Classes | |
struct | Config |
struct | PerScheduleData |
Public Types | |
using | Parameters = ServiceTable< Config > |
Public Member Functions | |
MemoryTracker (fhicl::ParameterSet const &) | |
MemoryTracker (ServiceTable< Config > const &, ActivityRegistry &) | |
Private Types | |
template<unsigned N> | |
using | name_array = cet::sqlite::name_array< N > |
using | peakUsage_t = cet::sqlite::Ntuple< std::string, double, std::string > |
using | otherInfo_t = cet::sqlite::Ntuple< std::string, std::string, std::string, double, double > |
using | memEvent_t = cet::sqlite::Ntuple< std::string, uint32_t, uint32_t, uint32_t, double, double > |
using | memModule_t = cet::sqlite::Ntuple< std::string, uint32_t, uint32_t, uint32_t, std::string, std::string, std::string, double, double > |
using | memEventHeap_t = cet::sqlite::Ntuple< std::string, uint32_t, uint32_t, uint32_t, int, int, int, int, int, int, int > |
using | memModuleHeap_t = cet::sqlite::Ntuple< std::string, uint32_t, uint32_t, uint32_t, std::string, std::string, std::string, int, int, int, int, int, int, int > |
Private Member Functions | |
void | prePathProcessing (std::string const &) |
void | recordOtherData (ModuleDescription const &md, std::string const &step) |
void | recordEventData (Event const &e, std::string const &step) |
void | recordModuleData (ModuleDescription const &md, std::string const &step) |
void | postEndJob () |
bool | checkMallocConfig_ (std::string const &, bool) |
void | recordPeakUsages_ () |
void | flushTables_ () |
void | summary_ () |
Private Attributes | |
LinuxProcMgr | procInfo_ |
std::string | fileName_ |
cet::sqlite::Connection | db_ |
bool | overwriteContents_ |
bool | includeMallocInfo_ |
std::vector< PerScheduleData > | data_ |
name_array< 3u > | peakUsageColumns_ {{"Name", "Value", "Description"}} |
name_array< 5u > | otherInfoColumns_ |
name_array< 6u > | eventColumns_ |
name_array< 9u > | moduleColumns_ |
name_array< 11u > | eventHeapColumns_ |
name_array< 14u > | moduleHeapColumns_ |
peakUsage_t | peakUsageTable_ |
otherInfo_t | otherInfoTable_ |
memEvent_t | eventTable_ |
memModule_t | moduleTable_ |
std::unique_ptr< memEventHeap_t > | eventHeapTable_ |
std::unique_ptr< memModuleHeap_t > | moduleHeapTable_ |
Definition at line 16 of file MemoryTrackerDarwin_service.cc.
|
private |
Definition at line 147 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 167 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 156 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 181 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 101 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 145 of file MemoryTrackerLinux_service.cc.
Definition at line 65 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 143 of file MemoryTrackerLinux_service.cc.
|
inline |
Definition at line 18 of file MemoryTrackerDarwin_service.cc.
References DECLARE_ART_SERVICE, DEFINE_ART_SERVICE, and art::LEGACY.
art::MemoryTracker::MemoryTracker | ( | ServiceTable< Config > const & | config, |
ActivityRegistry & | iReg | ||
) |
Definition at line 209 of file MemoryTrackerLinux_service.cc.
References checkMallocConfig_(), data_, db_, e, eventColumns_, eventHeapColumns_, eventHeapTable_, eventTable_, fileName_, art::ServiceHandle< T, SCOPE >::get(), includeMallocInfo_, moduleColumns_, moduleHeapColumns_, moduleHeapTable_, moduleTable_, otherInfoColumns_, otherInfoTable_, overwriteContents_, peakUsageColumns_, peakUsageTable_, postEndJob(), prePathProcessing(), recordEventData(), recordModuleData(), and recordOtherData().
|
private |
Definition at line 397 of file MemoryTrackerLinux_service.cc.
References art::errors::Configuration, and s.
Referenced by MemoryTracker().
|
private |
Definition at line 426 of file MemoryTrackerLinux_service.cc.
References eventHeapTable_, eventTable_, moduleHeapTable_, moduleTable_, otherInfoTable_, and peakUsageTable_.
Referenced by postEndJob().
|
private |
Definition at line 388 of file MemoryTrackerLinux_service.cc.
References flushTables_(), recordPeakUsages_(), and summary_().
Referenced by MemoryTracker().
|
private |
Definition at line 290 of file MemoryTrackerLinux_service.cc.
References data_, art::ScheduleID::first(), and art::ScheduleID::id().
Referenced by MemoryTracker().
|
private |
Definition at line 314 of file MemoryTrackerLinux_service.cc.
References d, data_, eventHeapTable_, eventTable_, art::ScheduleID::first(), art::ScheduleID::id(), art::Event::id(), includeMallocInfo_, and procInfo_.
Referenced by MemoryTracker().
|
private |
Definition at line 348 of file MemoryTrackerLinux_service.cc.
References d, data_, art::ScheduleID::first(), art::ScheduleID::id(), includeMallocInfo_, moduleHeapTable_, art::ModuleDescription::moduleLabel(), art::ModuleDescription::moduleName(), moduleTable_, and procInfo_.
Referenced by MemoryTracker().
|
private |
Definition at line 299 of file MemoryTrackerLinux_service.cc.
References art::ScheduleID::first(), art::ScheduleID::id(), art::ModuleDescription::moduleLabel(), art::ModuleDescription::moduleName(), otherInfoTable_, and procInfo_.
Referenced by MemoryTracker().
|
private |
Definition at line 416 of file MemoryTrackerLinux_service.cc.
References peakUsageTable_, and procInfo_.
Referenced by postEndJob().
|
private |
Definition at line 440 of file MemoryTrackerLinux_service.cc.
References db_, DECLARE_ART_SERVICE, DEFINE_ART_SERVICE, fileName_, art::left(), art::LEGACY, and peakUsageTable_.
Referenced by postEndJob().
|
private |
Definition at line 98 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker(), prePathProcessing(), recordEventData(), and recordModuleData().
|
private |
Definition at line 90 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker(), and summary_().
|
private |
Definition at line 106 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 117 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 187 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), and recordEventData().
|
private |
Definition at line 185 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), and recordEventData().
|
private |
Definition at line 87 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker(), and summary_().
|
private |
Definition at line 92 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker(), recordEventData(), and recordModuleData().
|
private |
Definition at line 108 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 128 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 188 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), and recordModuleData().
|
private |
Definition at line 186 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), and recordModuleData().
|
private |
Definition at line 104 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 184 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), and recordOtherData().
|
private |
Definition at line 91 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 103 of file MemoryTrackerLinux_service.cc.
Referenced by MemoryTracker().
|
private |
Definition at line 183 of file MemoryTrackerLinux_service.cc.
Referenced by flushTables_(), MemoryTracker(), recordPeakUsages_(), and summary_().
|
private |
Definition at line 86 of file MemoryTrackerLinux_service.cc.
Referenced by recordEventData(), recordModuleData(), recordOtherData(), and recordPeakUsages_().