ATLAS Offline Software
LeakCheckModule.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
8 
9 
10 #ifndef EVENT_LOOP__LEAK_CHECK_MODULE_H
11 #define EVENT_LOOP__LEAK_CHECK_MODULE_H
12 
13 #include <EventLoop/Global.h>
14 
15 #include <EventLoop/Module.h>
16 #include <Rtypes.h>
17 
18 namespace EL
19 {
20  namespace Detail
21  {
23 
24  class LeakCheckModule final : public Module
25  {
26  //
27  // public interface
28  //
29 
30  public:
31 
32  using Module::Module;
33 
34  virtual StatusCode postFirstEvent (ModuleData& data) override;
35  virtual StatusCode onWorkerEnd (ModuleData& data) override;
36  virtual StatusCode postFinalize (ModuleData& data) override;
37 
38 
39 
40  //
41  // private interface
42  //
43 
45  private:
47 
49  private:
50  Long_t m_initMemResident = -1;
51 
53  private:
54  Long_t m_initMemVirtual = -1;
55 
57  private:
58  Long_t m_finMemResident = -1;
59 
61  private:
62  Long_t m_finMemVirtual = -1;
63 
64 
75  private:
76  Long_t memIncreaseResident () const;
77 
78 
89  private:
90  Long_t memIncreaseVirtual () const;
91  };
92  }
93 }
94 
95 #endif
EL::Detail::LeakCheckModule::m_initMemVirtual
Long_t m_initMemVirtual
Amount of virtual memory used after initialisation in kB.
Definition: LeakCheckModule.h:54
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
EL::Detail::LeakCheckModule::onWorkerEnd
virtual StatusCode onWorkerEnd(ModuleData &data) override
action at the end of the worker job
Definition: LeakCheckModule.cxx:83
EL::Detail::ModuleData
the data the EventLoop core classes are sharing with the Module implementation
Definition: ModuleData.h:64
EL::Detail::LeakCheckModule::memIncreaseVirtual
Long_t memIncreaseVirtual() const
Virtual memory leak/increase during the job.
Definition: LeakCheckModule.cxx:154
Module.h
EL::Detail::LeakCheckModule::memIncreaseResident
Long_t memIncreaseResident() const
Resident memory leak/increase during the job.
Definition: LeakCheckModule.cxx:141
EL::Detail::ManagerStep::final
@ final
EL::Detail::LeakCheckModule::m_initMemResident
Long_t m_initMemResident
Amount of resident memory used after initialisation in kB.
Definition: LeakCheckModule.h:50
EL::Detail::Module
the base class for EventLoop instrumentation module
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/Module.h:40
EL::Detail::LeakCheckModule::m_finMemVirtual
Long_t m_finMemVirtual
Amount of virtual memory used after finalisation in kB.
Definition: LeakCheckModule.h:62
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EL::Detail::LeakCheckModule::postFinalize
virtual StatusCode postFinalize(ModuleData &data) override
actions after algorithms have been finalized
Definition: LeakCheckModule.cxx:51
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
EL::Detail::LeakCheckModule::m_skippedEvents
uint64_t m_skippedEvents
number of skipped events
Definition: LeakCheckModule.h:46
xAOD::DiTauJetParameters::Detail
Detail
Definition: DiTauDefs.h:38
EL::Detail::LeakCheckModule::m_finMemResident
Long_t m_finMemResident
Amount of resident memory used after finalisation in kB.
Definition: LeakCheckModule.h:58
EL::Detail::LeakCheckModule::postFirstEvent
virtual StatusCode postFirstEvent(ModuleData &data) override
action after processing first event
Definition: LeakCheckModule.cxx:32
Global.h
EL::Detail::LeakCheckModule
a Module implementing a simple leak checker
Definition: LeakCheckModule.h:25