ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
PerformanceMonitoring
PerfMonVTune
src
VTuneProfilerService.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef VTUNE_PROFILERSERVICE_H
6
#define VTUNE_PROFILERSERVICE_H
7
8
// STD include(s):
9
#include <atomic>
10
#include <memory>
11
#include <vector>
12
#include <string>
13
14
// Gaudi/Athena include(s):
15
#include "GaudiKernel/ServiceHandle.h"
16
#include "GaudiKernel/IIncidentListener.h"
17
#include "GaudiKernel/IIncidentSvc.h"
18
#include "
AthenaBaseComps/AthService.h
"
19
20
// Local include(s):
21
#include "
VTuneProfileRunner.h
"
22
#include "
PerfMonVTune/IVTuneProfilerSvc.h
"
23
24
// Fwd declerations
25
class
IAuditorSvc;
26
27
class
VTuneProfilerService
:
public
extends<AthService,
28
IVTuneProfilerSvc,
29
IIncidentListener> {
30
31
public
:
32
34
VTuneProfilerService
(
const
std::string& name, ISvcLocator* svcloc );
35
37
virtual
StatusCode
initialize
()
override
;
38
40
virtual
StatusCode
resumeProfiling
()
override
;
41
43
virtual
StatusCode
pauseProfiling
()
override
;
44
46
virtual
bool
isProfilingRunning
()
const override
;
47
49
virtual
void
handle
(
const
Incident& inc )
override
;
50
51
private
:
52
54
ServiceHandle< IIncidentSvc >
m_incidentSvc
;
55
57
int
m_resumeEvent
;
58
60
int
m_pauseEvent
;
61
63
std::vector<std::string>
m_algs
;
64
66
std::unique_ptr< VTuneProfileRunner >
m_runner
;
67
69
std::atomic<int>
m_processedEvents
;
70
71
std::mutex
m_mutex
;
72
73
};
// class IVTuneProfilerSvc
74
75
#endif
// VTUNE_PROFILERSERVICE.H
AthService.h
IVTuneProfilerSvc.h
VTuneProfileRunner.h
ServiceHandle< IIncidentSvc >
VTuneProfilerService::VTuneProfilerService
VTuneProfilerService(const std::string &name, ISvcLocator *svcloc)
Standard Gaudi service constructor.
Definition
VTuneProfilerService.cxx:21
VTuneProfilerService::m_runner
std::unique_ptr< VTuneProfileRunner > m_runner
Unique ptr to the VTuneProfileRunner.
Definition
VTuneProfilerService.h:66
VTuneProfilerService::m_pauseEvent
int m_pauseEvent
Property: Event in which profiling should pause.
Definition
VTuneProfilerService.h:60
VTuneProfilerService::m_algs
std::vector< std::string > m_algs
Property: List of algorithms to profile.
Definition
VTuneProfilerService.h:63
VTuneProfilerService::m_processedEvents
std::atomic< int > m_processedEvents
Number of events processed so far.
Definition
VTuneProfilerService.h:69
VTuneProfilerService::m_resumeEvent
int m_resumeEvent
Property: Event in which profiling should start.
Definition
VTuneProfilerService.h:57
VTuneProfilerService::isProfilingRunning
virtual bool isProfilingRunning() const override
Is the profiling running at the moment?
Definition
VTuneProfilerService.cxx:113
VTuneProfilerService::handle
virtual void handle(const Incident &inc) override
Function handling incoming incidents.
Definition
VTuneProfilerService.cxx:122
VTuneProfilerService::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Handle to the incident service.
Definition
VTuneProfilerService.h:54
VTuneProfilerService::resumeProfiling
virtual StatusCode resumeProfiling() override
Resume profiling.
Definition
VTuneProfilerService.cxx:71
VTuneProfilerService::m_mutex
std::mutex m_mutex
Definition
VTuneProfilerService.h:71
VTuneProfilerService::pauseProfiling
virtual StatusCode pauseProfiling() override
Pause profiling.
Definition
VTuneProfilerService.cxx:92
VTuneProfilerService::initialize
virtual StatusCode initialize() override
Standard Gaudi initialization function.
Definition
VTuneProfilerService.cxx:39
Generated on
for ATLAS Offline Software by
1.17.0