The Gaudi Framework  v30r1 (5d4f4ae2)
TimelineSvc.h
Go to the documentation of this file.
1 
2 #ifndef GAUDIHIVE_TIMELINESVC_H
3 #define GAUDIHIVE_TIMELINESVC_H
4 
6 #include "GaudiKernel/Service.h"
7 
8 #include <string>
9 
10 #include "tbb/concurrent_vector.h"
11 
12 class TimelineSvc : public extends<Service, ITimelineSvc>
13 {
14 public:
15  using extends::extends;
16 
17  StatusCode initialize() override;
18  StatusCode reinitialize() override;
19  StatusCode finalize() override;
20 
21  void registerTimelineEvent( const TimelineEvent& ) override;
22  void getTimelineEvent( TimelineEvent& ) const override;
23 
24  bool isEnabled() const override { return m_isEnabled; }
25 
26 private:
27  void outputTimeline();
28 
29  Gaudi::Property<std::string> m_timelineFile{this, "TimelineFile", "timeline.csv", ""};
30  Gaudi::Property<bool> m_isEnabled{this, "RecordTimeline", false, "Enable recording of the timeline events"};
31  Gaudi::Property<bool> m_dumpTimeline{this, "DumpTimeline", false, "Enable dumping of the timeline events"};
32  Gaudi::Property<bool> m_partial{this, "Partial", false, ""};
33 
34  tbb::concurrent_vector<TimelineEvent> m_events;
35 };
36 
37 #endif
void getTimelineEvent(TimelineEvent &) const override
Definition: TimelineSvc.cpp:75
Implementation of property with value of concrete type.
Definition: Property.h:319
Gaudi::Property< bool > m_partial
Definition: TimelineSvc.h:32
bool isEnabled() const override
Definition: TimelineSvc.h:24
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Gaudi::Property< bool > m_isEnabled
Definition: TimelineSvc.h:30
tbb::concurrent_vector< TimelineEvent > m_events
Definition: TimelineSvc.h:34
StatusCode finalize() override
Definition: TimelineSvc.cpp:42
StatusCode initialize() override
Definition: TimelineSvc.cpp:9
Gaudi::Property< std::string > m_timelineFile
Definition: TimelineSvc.h:29
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
void registerTimelineEvent(const TimelineEvent &) override
Definition: TimelineSvc.cpp:60
void outputTimeline()
Definition: TimelineSvc.cpp:91
StatusCode reinitialize() override
Definition: TimelineSvc.cpp:30
Gaudi::Property< bool > m_dumpTimeline
Definition: TimelineSvc.h:31