Monitoring  3.3.4
O2 Monitoring library
Tags.h
Go to the documentation of this file.
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_TAG_H
17 #define ALICEO2_MONITORING_TAG_H
18 
19 #include <string>
20 
21 namespace o2
22 {
24 namespace monitoring
25 {
26 
27 namespace tags
28 {
29 using namespace std::string_view_literals;
30 
31 // Tag keys
32 enum class Key : unsigned short int {
33  Hostname,
34  Rolename,
35  Name,
36  Detector,
37  Subsystem,
38  CRU,
39  FLP,
40  EPN,
41  Unit,
42  Run,
43  ID,
44  Type,
45  CRORC,
46  SerialId,
47  Endpoint
48 };
49 
51 static constexpr std::array<std::string_view, 15> TAG_KEY = {
52  "hostname"sv,
53  "rolenane"sv,
54  "name"sv,
55  "detector"sv,
56  "subsystem"sv,
57  "CRU"sv,
58  "FLP"sv,
59  "EPN"sv,
60  "unit"sv,
61  "run"sv,
62  "id"sv,
63  "type"sv,
64  "CRORC"sv,
65  "serialId"sv,
66  "endpoint"sv
67 };
68 
69 // Tag values
70 enum class Value : unsigned short int {
71  Null,
72  AD, // 1
73  CPV, // 2
74  EMC, // 3
75  FMD, // 4
76  HMP, // 5
77  MCH, // 6
78  MTR, // 7
79  PHS, // 8
80  PMD, // 9
81  ITS, // 10
82  T0, // 11
83  TOF, // 12
84  TPC, // 13
85  TRD, // 14
86  V0, // 15
87  QC, // 16
88  Readout, // 17
89  DPL, // 18
90  CRU, // 19
91  Bytes, // 20
92  Megabytes, // 21
93  Gigabytes, // 22
94  Bits, // 23
95  Megabits, // 24
96  Gigabits, // 25
97  bps, // 26
98  Mbps, // 27
99  Gbps, // 28
100  Nanoseconds, // 29
101  Microseconds, // 30
102  Milliseconds, // 31
103  Seconds, // 32
104  PerSecond, // 33
105  PerCycle, // 34
106  PerRun, // 35
107  Monitoring, // 36
108  CRORC, // 37
109  ACO // 38
110 };
111 
112 // Tag value array
113 static constexpr std::array<std::string_view, 39> TAG_VALUE = {{
114  "Null"sv,
115  "AD"sv, // 1
116  "CPV"sv, // 2
117  "EMC"sv, // 3
118  "FMD"sv, // 4
119  "HMP"sv, // 5
120  "MCH"sv, // 6
121  "MTR"sv, // 7
122  "PHS"sv, // 8
123  "PHS"sv, // 9
124  "PMD"sv, // 10
125  "ITS"sv, // 11
126  "TOF"sv, // 12
127  "TPC"sv, // 13
128  "TRD"sv, // 14
129  "V0"sv, // 15
130  "QC"sv, // 16
131  "Readout"sv, // 17
132  "DPL"sv, // 18
133  "CRU"sv, // 19
134  "B"sv, // 20
135  "MB"sv, // 21
136  "GB"sv, // 22
137  "b"sv, // 23
138  "Mb"sv, // 24
139  "Gb"sv, // 25
140  "bps"sv, // 26
141  "Mbps"sv, // 27
142  "Gbps"sv, // 28
143  "ns"sv, // 29
144  "us"sv, // 30
145  "ms"sv, // 31
146  "s"sv, // 32
147  "ps"sv, // 33
148  "pcycle"sv, // 34
149  "prun"sv, // 35
150  "monitoring"sv, // 36
151  "CRORC"sv, // 37
152  "ACO"sv // 38
153 }};
154 
155 static constexpr std::string_view GetValue(const int value)
156 {
157  return TAG_VALUE[value];
158 }
159 
160 } // namespace tags
161 } // namespace monitoring
162 } // namespace o2
163 
164 #endif // ALICEO2_MONITORING_TAG_H
Definition: Backend.h:23
Monitoring and monitoring backends factory.
Definition: MonitoringFactory.h:28