The Gaudi Framework  v30r3 (a5ef0a68)
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  TimelineRecorder getRecorder( std::string alg, const EventContext& ctx ) override;
22  bool 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
Implementation of property with value of concrete type.
Definition: Property.h:381
Gaudi::Property< bool > m_partial
Definition: TimelineSvc.h:32
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
bool isEnabled() const override
Definition: TimelineSvc.h:24
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
Gaudi::Property< bool > m_isEnabled
Definition: TimelineSvc.h:30
tbb::concurrent_vector< TimelineEvent > m_events
Definition: TimelineSvc.h:34
bool getTimelineEvent(TimelineEvent &) const override
Definition: TimelineSvc.cpp:68
StatusCode finalize() override
Definition: TimelineSvc.cpp:39
TimelineRecorder getRecorder(std::string alg, const EventContext &ctx) override
Definition: TimelineSvc.cpp:53
StatusCode initialize() override
Definition: TimelineSvc.cpp:7
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 outputTimeline()
Definition: TimelineSvc.cpp:79
StatusCode reinitialize() override
Definition: TimelineSvc.cpp:28
Gaudi::Property< bool > m_dumpTimeline
Definition: TimelineSvc.h:31