ATLAS Offline Software
PerfMonAuditor.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // PerfMonAuditor.h
8 // Header file for class Athena::PerfMonAuditor
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef PERFMONCOMPS_PERFMONAUDITOR_H
12 #define PERFMONCOMPS_PERFMONAUDITOR_H
13 
14 // STL includes
15 #include <string>
16 
17 // FrameWork includes
18 #include "GaudiKernel/Auditor.h"
19 #include "GaudiKernel/ServiceHandle.h"
20 
21 // Forward declaration
22 class INamedInterface;
23 class IPerfMonSvc;
24 
25 namespace Athena {
26 class PerfMonAuditor : virtual public Auditor
27 {
28  using Auditor::before;
29  using Auditor::after;
30 
32  // Public methods:
34  public:
35 
37  PerfMonAuditor(const std::string& name, ISvcLocator* pSvcLocator);
38 
40  virtual ~PerfMonAuditor();
41 
43  virtual StatusCode initialize();
44 
46  // Non-const methods:
48 
49  virtual void beforeInitialize(INamedInterface* alg);
50  virtual void afterInitialize(INamedInterface* alg);
51  virtual void beforeReinitialize(INamedInterface* alg);
52  virtual void afterReinitialize(INamedInterface* alg);
53  virtual void beforeExecute(INamedInterface* alg);
54  virtual void afterExecute(INamedInterface* alg, const StatusCode&);
55  virtual void beforeFinalize(INamedInterface* alg);
56  virtual void afterFinalize(INamedInterface* alg);
57 
58  // custom event auditing...
59 
61  virtual void before(IAuditor::CustomEventTypeRef evt,
62  INamedInterface* caller)
63  { return this->before (evt, caller->name()); }
64 
69  virtual void before (IAuditor::CustomEventTypeRef evt,
70  const std::string& caller);
71 
73  virtual void after (IAuditor::CustomEventTypeRef evt,
74  INamedInterface* caller,
75  const StatusCode& sc)
76  { return this->after (evt, caller->name(), sc); }
77 
82  virtual void after (CustomEventTypeRef evt, const std::string& caller,
83  const StatusCode& sc);
84 
86  // Private data:
88  private:
89 
93 
94 };
95 
96 } // !namespace Athena
97 
98 #endif //> PERFMONCOMPS_PERFMONAUDITOR_H
Athena::PerfMonAuditor::m_monSvc
PerfMonSvc_t m_monSvc
Pointer to the IPerfMonSvc.
Definition: PerfMonAuditor.h:92
Athena::PerfMonAuditor::afterReinitialize
virtual void afterReinitialize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:91
Athena::PerfMonAuditor::afterExecute
virtual void afterExecute(INamedInterface *alg, const StatusCode &)
Definition: PerfMonAuditor.cxx:102
SGout2dot.alg
alg
Definition: SGout2dot.py:243
Athena::PerfMonAuditor::PerfMonAuditor
PerfMonAuditor(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: PerfMonAuditor.cxx:35
Athena::PerfMonAuditor::beforeInitialize
virtual void beforeInitialize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:75
Athena::PerfMonAuditor::~PerfMonAuditor
virtual ~PerfMonAuditor()
Destructor.
Definition: PerfMonAuditor.cxx:51
Athena::PerfMonAuditor::beforeReinitialize
virtual void beforeReinitialize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:85
Athena::PerfMonAuditor
Definition: PerfMonAuditor.h:27
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Athena::PerfMonAuditor::initialize
virtual StatusCode initialize()
Gaudi hooks.
Definition: PerfMonAuditor.cxx:56
Athena::PerfMonAuditor::PerfMonSvc_t
ServiceHandle< IPerfMonSvc > PerfMonSvc_t
Definition: PerfMonAuditor.h:90
Athena
Some weak symbol referencing magic...
Definition: AthLegacySequence.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Athena::PerfMonAuditor::afterFinalize
virtual void afterFinalize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:113
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IPerfMonSvc
Definition: IPerfMonSvc.h:38
Athena::PerfMonAuditor::after
virtual void after(IAuditor::CustomEventTypeRef evt, INamedInterface *caller, const StatusCode &sc)
Audit the end of a custom "event".
Definition: PerfMonAuditor.h:73
Athena::PerfMonAuditor::before
virtual void before(IAuditor::CustomEventTypeRef evt, const std::string &caller)
Audit the start of a custom "event" for callers that do not implement the INamedInterface.
Athena::PerfMonAuditor::beforeExecute
virtual void beforeExecute(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:97
Athena::PerfMonAuditor::beforeFinalize
virtual void beforeFinalize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:108
Athena::PerfMonAuditor::before
virtual void before(IAuditor::CustomEventTypeRef evt, INamedInterface *caller)
Audit the start of a custom "event".
Definition: PerfMonAuditor.h:61
ServiceHandle< IPerfMonSvc >
Athena::PerfMonAuditor::afterInitialize
virtual void afterInitialize(INamedInterface *alg)
Definition: PerfMonAuditor.cxx:80