Monitoring  3.3.4
O2 Monitoring library
StdOut.h
1 // Copyright CERN and copyright holders of ALICE O2. This software is
2 // distributed under the terms of the GNU General Public License v3 (GPL
3 // Version 3), copied verbatim in the file "COPYING".
4 //
5 // See http://alice-o2.web.cern.ch/license for full licensing information.
6 //
7 // In applying this license CERN does not waive the privileges and immunities
8 // granted to it by virtue of its status as an Intergovernmental Organization
9 // or submit itself to any jurisdiction.
10 
15 
16 #ifndef ALICEO2_MONITORING_TRANSPORTS_STDOUT_H
17 #define ALICEO2_MONITORING_TRANSPORTS_STDOUT_H
18 
19 #include "TransportInterface.h"
20 
21 #include <chrono>
22 #include <string>
23 
24 namespace o2
25 {
27 namespace monitoring
28 {
30 namespace transports
31 {
32 
34 class StdOut : public TransportInterface
35 {
36  public:
38  StdOut() = default;
39 
41  ~StdOut() = default;
42 
45  void send(std::string&& message) override;
46 
48  template <typename T>
49  StdOut& operator<<(const T& msg);
50 };
51 
52 } // namespace transports
53 } // namespace monitoring
54 } // namespace o2
55 
56 #endif // ALICEO2_MONITORING_TRANSPORTS_STDOUT_H
Definition: Backend.h:23
Transport that sends string formatted metrics via StdOut.
Definition: StdOut.h:34
Transport interface for backends.
Definition: TransportInterface.h:31
StdOut & operator<<(const T &msg)
Overload stream operator.
Definition: StdOut.cxx:35
~StdOut()=default
Default destructor.
void send(std::string &&message) override
Definition: StdOut.cxx:29
StdOut()=default
Constructor.