container_metrics.h 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /*
  2. * Copyright The OpenTelemetry Authors
  3. * SPDX-License-Identifier: Apache-2.0
  4. */
  5. /*
  6. * DO NOT EDIT, this is an Auto-generated file from:
  7. * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2
  8. */
  9. #pragma once
  10. #include "opentelemetry/common/macros.h"
  11. #include "opentelemetry/metrics/meter.h"
  12. #include "opentelemetry/version.h"
  13. OPENTELEMETRY_BEGIN_NAMESPACE
  14. namespace semconv
  15. {
  16. namespace container
  17. {
  18. /**
  19. * Total CPU time consumed
  20. * <p>
  21. * Total CPU time consumed by the specific container on all available CPU cores
  22. * <p>
  23. * counter
  24. */
  25. static constexpr const char *kMetricContainerCpuTime = "container.cpu.time";
  26. static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed";
  27. static constexpr const char *unitMetricContainerCpuTime = "s";
  28. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerCpuTime(
  29. metrics::Meter *meter)
  30. {
  31. return meter->CreateUInt64Counter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
  32. unitMetricContainerCpuTime);
  33. }
  34. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerCpuTime(
  35. metrics::Meter *meter)
  36. {
  37. return meter->CreateDoubleCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
  38. unitMetricContainerCpuTime);
  39. }
  40. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  41. CreateAsyncInt64MetricContainerCpuTime(metrics::Meter *meter)
  42. {
  43. return meter->CreateInt64ObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
  44. unitMetricContainerCpuTime);
  45. }
  46. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  47. CreateAsyncDoubleMetricContainerCpuTime(metrics::Meter *meter)
  48. {
  49. return meter->CreateDoubleObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
  50. unitMetricContainerCpuTime);
  51. }
  52. /**
  53. * Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs
  54. * <p>
  55. * CPU usage of the specific container on all available CPU cores, averaged over the sample window
  56. * <p>
  57. * gauge
  58. */
  59. static constexpr const char *kMetricContainerCpuUsage = "container.cpu.usage";
  60. static constexpr const char *descrMetricContainerCpuUsage =
  61. "Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs";
  62. static constexpr const char *unitMetricContainerCpuUsage = "{cpu}";
  63. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  64. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricContainerCpuUsage(
  65. metrics::Meter *meter)
  66. {
  67. return meter->CreateInt64Gauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage,
  68. unitMetricContainerCpuUsage);
  69. }
  70. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricContainerCpuUsage(
  71. metrics::Meter *meter)
  72. {
  73. return meter->CreateDoubleGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage,
  74. unitMetricContainerCpuUsage);
  75. }
  76. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  77. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  78. CreateAsyncInt64MetricContainerCpuUsage(metrics::Meter *meter)
  79. {
  80. return meter->CreateInt64ObservableGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage,
  81. unitMetricContainerCpuUsage);
  82. }
  83. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  84. CreateAsyncDoubleMetricContainerCpuUsage(metrics::Meter *meter)
  85. {
  86. return meter->CreateDoubleObservableGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage,
  87. unitMetricContainerCpuUsage);
  88. }
  89. /**
  90. * Disk bytes for the container.
  91. * <p>
  92. * The total number of bytes read/written successfully (aggregated from all disks).
  93. * <p>
  94. * counter
  95. */
  96. static constexpr const char *kMetricContainerDiskIo = "container.disk.io";
  97. static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container.";
  98. static constexpr const char *unitMetricContainerDiskIo = "By";
  99. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerDiskIo(
  100. metrics::Meter *meter)
  101. {
  102. return meter->CreateUInt64Counter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
  103. unitMetricContainerDiskIo);
  104. }
  105. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerDiskIo(
  106. metrics::Meter *meter)
  107. {
  108. return meter->CreateDoubleCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
  109. unitMetricContainerDiskIo);
  110. }
  111. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  112. CreateAsyncInt64MetricContainerDiskIo(metrics::Meter *meter)
  113. {
  114. return meter->CreateInt64ObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
  115. unitMetricContainerDiskIo);
  116. }
  117. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  118. CreateAsyncDoubleMetricContainerDiskIo(metrics::Meter *meter)
  119. {
  120. return meter->CreateDoubleObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
  121. unitMetricContainerDiskIo);
  122. }
  123. /**
  124. * Memory usage of the container.
  125. * <p>
  126. * Memory usage of the container.
  127. * <p>
  128. * counter
  129. */
  130. static constexpr const char *kMetricContainerMemoryUsage = "container.memory.usage";
  131. static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container.";
  132. static constexpr const char *unitMetricContainerMemoryUsage = "By";
  133. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  134. CreateSyncInt64MetricContainerMemoryUsage(metrics::Meter *meter)
  135. {
  136. return meter->CreateUInt64Counter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage,
  137. unitMetricContainerMemoryUsage);
  138. }
  139. static inline nostd::unique_ptr<metrics::Counter<double>>
  140. CreateSyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter)
  141. {
  142. return meter->CreateDoubleCounter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage,
  143. unitMetricContainerMemoryUsage);
  144. }
  145. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  146. CreateAsyncInt64MetricContainerMemoryUsage(metrics::Meter *meter)
  147. {
  148. return meter->CreateInt64ObservableCounter(
  149. kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage);
  150. }
  151. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  152. CreateAsyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter)
  153. {
  154. return meter->CreateDoubleObservableCounter(
  155. kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage);
  156. }
  157. /**
  158. * Network bytes for the container.
  159. * <p>
  160. * The number of bytes sent/received on all network interfaces by the container.
  161. * <p>
  162. * counter
  163. */
  164. static constexpr const char *kMetricContainerNetworkIo = "container.network.io";
  165. static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container.";
  166. static constexpr const char *unitMetricContainerNetworkIo = "By";
  167. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricContainerNetworkIo(
  168. metrics::Meter *meter)
  169. {
  170. return meter->CreateUInt64Counter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo,
  171. unitMetricContainerNetworkIo);
  172. }
  173. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricContainerNetworkIo(
  174. metrics::Meter *meter)
  175. {
  176. return meter->CreateDoubleCounter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo,
  177. unitMetricContainerNetworkIo);
  178. }
  179. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  180. CreateAsyncInt64MetricContainerNetworkIo(metrics::Meter *meter)
  181. {
  182. return meter->CreateInt64ObservableCounter(
  183. kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo);
  184. }
  185. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  186. CreateAsyncDoubleMetricContainerNetworkIo(metrics::Meter *meter)
  187. {
  188. return meter->CreateDoubleObservableCounter(
  189. kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo);
  190. }
  191. /**
  192. * The time the container has been running
  193. * <p>
  194. * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds
  195. * as a floating point number with the highest precision available. The actual accuracy would depend
  196. * on the instrumentation and operating system. <p> gauge
  197. */
  198. static constexpr const char *kMetricContainerUptime = "container.uptime";
  199. static constexpr const char *descrMetricContainerUptime = "The time the container has been running";
  200. static constexpr const char *unitMetricContainerUptime = "s";
  201. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  202. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricContainerUptime(
  203. metrics::Meter *meter)
  204. {
  205. return meter->CreateInt64Gauge(kMetricContainerUptime, descrMetricContainerUptime,
  206. unitMetricContainerUptime);
  207. }
  208. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricContainerUptime(
  209. metrics::Meter *meter)
  210. {
  211. return meter->CreateDoubleGauge(kMetricContainerUptime, descrMetricContainerUptime,
  212. unitMetricContainerUptime);
  213. }
  214. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  215. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  216. CreateAsyncInt64MetricContainerUptime(metrics::Meter *meter)
  217. {
  218. return meter->CreateInt64ObservableGauge(kMetricContainerUptime, descrMetricContainerUptime,
  219. unitMetricContainerUptime);
  220. }
  221. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  222. CreateAsyncDoubleMetricContainerUptime(metrics::Meter *meter)
  223. {
  224. return meter->CreateDoubleObservableGauge(kMetricContainerUptime, descrMetricContainerUptime,
  225. unitMetricContainerUptime);
  226. }
  227. } // namespace container
  228. } // namespace semconv
  229. OPENTELEMETRY_END_NAMESPACE