LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Classes | |
struct | Config |
Public Types | |
using | Parameters = ServiceTable< Config > |
Public Member Functions | |
MemoryTracker (fhicl::ParameterSet const &) | |
MemoryTracker (Parameters const &, ActivityRegistry &) | |
Static Public Attributes | |
static constexpr bool | service_handle_allowed {false} |
Private Types | |
template<unsigned N> | |
using | name_array = cet::sqlite::name_array< N > |
using | peakUsage_t = cet::sqlite::Ntuple< string, double, string > |
using | otherInfo_t = cet::sqlite::Ntuple< string, string, string, double, double > |
using | memEvent_t = cet::sqlite::Ntuple< string, uint32_t, uint32_t, uint32_t, double, double > |
using | memModule_t = cet::sqlite::Ntuple< string, uint32_t, uint32_t, uint32_t, string, string, string, double, double > |
using | memEventHeap_t = cet::sqlite::Ntuple< string, uint32_t, uint32_t, uint32_t, int, int, int, int, int, int, int > |
using | memModuleHeap_t = cet::sqlite::Ntuple< string, uint32_t, uint32_t, uint32_t, string, string, string, int, int, int, int, int, int, int > |
Private Member Functions | |
void | prePathProcessing (PathContext const &pc) |
void | recordOtherData (ModuleDescription const &md, string const &step) |
void | recordOtherData (ModuleContext const &mc, string const &step) |
void | recordEventData (Event const &e, string const &step) |
void | recordModuleData (ModuleContext const &mc, string const &step) |
void | postEndJob () |
bool | checkMallocConfig_ (string const &, bool) |
void | recordPeakUsages_ () |
void | flushTables_ () |
bool | using_file_database_ () const |
void | summary_ () |
bool | anyTableFull_ () const |
Private Attributes | |
LinuxProcMgr | procInfo_ {} |
string const | fileName_ |
unique_ptr< cet::sqlite::Connection > const | db_ |
bool const | overwriteContents_ |
bool const | includeMallocInfo_ |
EventID | currentEventID_ {EventID::invalidEvent()} |
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_ |
unique_ptr< memEventHeap_t > | eventHeapTable_ |
unique_ptr< memModuleHeap_t > | moduleHeapTable_ |
Definition at line 17 of file MemoryTrackerDarwin_service.cc.
|
private |
Definition at line 72 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 92 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 81 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 106 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 67 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 70 of file MemoryTrackerLinux_service.cc.
Definition at line 126 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 68 of file MemoryTrackerLinux_service.cc.
|
inline |
Definition at line 21 of file MemoryTrackerDarwin_service.cc.
References DECLARE_ART_SERVICE, DEFINE_ART_SERVICE, and art::SHARED.
art::MemoryTracker::MemoryTracker | ( | Parameters const & | , |
ActivityRegistry & | |||
) |
|
private |
Definition at line 457 of file MemoryTrackerLinux_service.cc.
References DECLARE_ART_SERVICE, DEFINE_ART_SERVICE, eventHeapTable_, eventTable_, moduleHeapTable_, moduleTable_, otherInfoTable_, peakUsageTable_, and art::SHARED.
Referenced by summary_().
|
private |
Definition at line 373 of file MemoryTrackerLinux_service.cc.
References art::errors::Configuration.
|
private |
Definition at line 400 of file MemoryTrackerLinux_service.cc.
References eventHeapTable_, eventTable_, moduleHeapTable_, moduleTable_, otherInfoTable_, and peakUsageTable_.
Referenced by postEndJob().
|
private |
Definition at line 365 of file MemoryTrackerLinux_service.cc.
References flushTables_(), recordPeakUsages_(), and summary_().
|
private |
|
private |
Definition at line 306 of file MemoryTrackerLinux_service.cc.
References currentEventID_, art::EventID::event(), eventHeapTable_, eventTable_, art::Event::id(), includeMallocInfo_, procInfo_, art::EventID::run(), and art::EventID::subRun().
|
private |
Definition at line 333 of file MemoryTrackerLinux_service.cc.
References currentEventID_, art::EventID::event(), includeMallocInfo_, moduleHeapTable_, art::ModuleContext::moduleLabel(), art::ModuleContext::moduleName(), moduleTable_, art::ModuleContext::pathName(), procInfo_, art::EventID::run(), and art::EventID::subRun().
|
private |
Definition at line 294 of file MemoryTrackerLinux_service.cc.
References art::ModuleDescription::moduleLabel(), art::ModuleDescription::moduleName(), otherInfoTable_, and procInfo_.
Referenced by recordOtherData().
|
private |
Definition at line 288 of file MemoryTrackerLinux_service.cc.
References art::ModuleContext::moduleDescription(), and recordOtherData().
|
private |
Definition at line 391 of file MemoryTrackerLinux_service.cc.
References peakUsageTable_, and procInfo_.
Referenced by postEndJob().
|
private |
Definition at line 421 of file MemoryTrackerLinux_service.cc.
References anyTableFull_(), db_, fileName_, art::left(), peakUsageTable_, and using_file_database_().
Referenced by postEndJob().
|
private |
Definition at line 415 of file MemoryTrackerLinux_service.cc.
References fileName_.
Referenced by summary_().
|
private |
Definition at line 152 of file MemoryTrackerLinux_service.cc.
Referenced by recordEventData(), and recordModuleData().
|
private |
Definition at line 145 of file MemoryTrackerLinux_service.cc.
Referenced by summary_().
|
private |
Definition at line 156 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 167 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 196 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), and recordEventData().
|
private |
Definition at line 194 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), and recordEventData().
|
private |
Definition at line 144 of file MemoryTrackerLinux_service.cc.
Referenced by summary_(), and using_file_database_().
|
private |
Definition at line 147 of file MemoryTrackerLinux_service.cc.
Referenced by recordEventData(), and recordModuleData().
|
private |
Definition at line 158 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 178 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 197 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), and recordModuleData().
|
private |
Definition at line 195 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), and recordModuleData().
|
private |
Definition at line 154 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 193 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), and recordOtherData().
|
private |
Definition at line 146 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 153 of file MemoryTrackerLinux_service.cc.
|
private |
Definition at line 192 of file MemoryTrackerLinux_service.cc.
Referenced by anyTableFull_(), flushTables_(), recordPeakUsages_(), and summary_().
|
private |
Definition at line 143 of file MemoryTrackerLinux_service.cc.
Referenced by recordEventData(), recordModuleData(), recordOtherData(), and recordPeakUsages_().
|
static |
Definition at line 19 of file MemoryTrackerDarwin_service.cc.