ATLAS Offline Software
Loading...
Searching...
No Matches
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
16#include <EventLoop/Module.h>
17#include <Rtypes.h>
18
19namespace EL
20{
21 namespace Detail
22 {
24
26 {
27 //
28 // public interface
29 //
30
31 public:
32
33 using Module::Module;
34
35 virtual StatusCode postFirstEvent (ModuleData& data) override;
36 virtual StatusCode onWorkerEnd (ModuleData& data) override;
37 virtual StatusCode postFinalize (ModuleData& data) override;
38
39 Gaudi::Property<int> absResidentLimit {this, "absResidentLimit", 10000};
40 Gaudi::Property<int> absVirtualLimit {this, "absVirtualLimit", 0};
41 Gaudi::Property<int> perEvResidentLimit {this, "perEvResidentLimit", 10};
42 Gaudi::Property<int> perEvVirtualLimit {this, "perEvVirtualLimit", 0};
43 Gaudi::Property<bool> failOnLeak {this, "failOnLeak", false};
44
45 //
46 // private interface
47 //
48
50 private:
51 uint64_t m_skippedEvents = 0;
52
54 private:
55 Long_t m_initMemResident = -1;
56
58 private:
59 Long_t m_initMemVirtual = -1;
60
62 private:
63 Long_t m_finMemResident = -1;
64
66 private:
67 Long_t m_finMemVirtual = -1;
68
69
80 private:
81 Long_t memIncreaseResident () const;
82
83
94 private:
95 Long_t memIncreaseVirtual () const;
96 };
97 }
98}
99
100#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
a Module implementing a simple leak checker
Long_t m_initMemVirtual
Amount of virtual memory used after initialisation in kB.
Gaudi::Property< int > absResidentLimit
Long_t m_finMemResident
Amount of resident memory used after finalisation in kB.
Long_t memIncreaseVirtual() const
Virtual memory leak/increase during the job.
Gaudi::Property< int > perEvResidentLimit
uint64_t m_skippedEvents
number of skipped events
Gaudi::Property< int > absVirtualLimit
virtual StatusCode postFinalize(ModuleData &data) override
actions after algorithms have been finalized
Long_t memIncreaseResident() const
Resident memory leak/increase during the job.
Gaudi::Property< int > perEvVirtualLimit
Long_t m_finMemVirtual
Amount of virtual memory used after finalisation in kB.
virtual StatusCode postFirstEvent(ModuleData &data) override
action after processing first event
Gaudi::Property< bool > failOnLeak
virtual StatusCode onWorkerEnd(ModuleData &data) override
action at the end of the worker job
Long_t m_initMemResident
Amount of resident memory used after initialisation in kB.
the base class for EventLoop instrumentation module
This module defines the arguments passed from the BATCH driver to the BATCH worker.
::StatusCode StatusCode
StatusCode definition for legacy code.
the data the EventLoop core classes are sharing with the Module implementation
Definition ModuleData.h:64