All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
15 public:
16  StatusCode initialize() override;
17  StatusCode reinitialize() override;
18  StatusCode finalize() override;
19 
20  void registerTimelineEvent( const TimelineEvent& e ) override;
21 
22  bool isEnabled() const override { return m_isEnabled; }
23 
24  using extends::extends;
25 
26  // Destructor.
27  ~TimelineSvc() override = default;
28 
29 private:
30  void outputTimeline();
31 
32  Gaudi::Property<std::string> m_timelineFile{this, "TimelineFile", "timeline.csv", ""};
33  Gaudi::Property<bool> m_isEnabled{this, "RecordTimeline", false, ""};
34  Gaudi::Property<bool> m_partial{this, "Partial", false, ""};
35 
36  tbb::concurrent_vector<TimelineEvent> m_events;
37 };
38 
39 #endif
Implementation of property with value of concrete type.
Definition: Property.h:314
Gaudi::Property< bool > m_partial
Definition: TimelineSvc.h:34
bool isEnabled() const override
Definition: TimelineSvc.h:22
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Gaudi::Property< bool > m_isEnabled
Definition: TimelineSvc.h:33
tbb::concurrent_vector< TimelineEvent > m_events
Definition: TimelineSvc.h:36
StatusCode finalize() override
Definition: TimelineSvc.cpp:46
~TimelineSvc() override=default
StatusCode initialize() override
Definition: TimelineSvc.cpp:10
Gaudi::Property< std::string > m_timelineFile
Definition: TimelineSvc.h:32
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
void registerTimelineEvent(const TimelineEvent &e) override
Definition: TimelineSvc.cpp:65
void outputTimeline()
Definition: TimelineSvc.cpp:88
StatusCode reinitialize() override
Definition: TimelineSvc.cpp:33