process_metrics.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  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 process
  17. {
  18. /**
  19. * Number of times the process has been context switched.
  20. * <p>
  21. * counter
  22. */
  23. static constexpr const char *kMetricProcessContextSwitches = "process.context_switches";
  24. static constexpr const char *descrMetricProcessContextSwitches =
  25. "Number of times the process has been context switched.";
  26. static constexpr const char *unitMetricProcessContextSwitches = "{context_switch}";
  27. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  28. CreateSyncInt64MetricProcessContextSwitches(metrics::Meter *meter)
  29. {
  30. return meter->CreateUInt64Counter(kMetricProcessContextSwitches,
  31. descrMetricProcessContextSwitches,
  32. unitMetricProcessContextSwitches);
  33. }
  34. static inline nostd::unique_ptr<metrics::Counter<double>>
  35. CreateSyncDoubleMetricProcessContextSwitches(metrics::Meter *meter)
  36. {
  37. return meter->CreateDoubleCounter(kMetricProcessContextSwitches,
  38. descrMetricProcessContextSwitches,
  39. unitMetricProcessContextSwitches);
  40. }
  41. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  42. CreateAsyncInt64MetricProcessContextSwitches(metrics::Meter *meter)
  43. {
  44. return meter->CreateInt64ObservableCounter(kMetricProcessContextSwitches,
  45. descrMetricProcessContextSwitches,
  46. unitMetricProcessContextSwitches);
  47. }
  48. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  49. CreateAsyncDoubleMetricProcessContextSwitches(metrics::Meter *meter)
  50. {
  51. return meter->CreateDoubleObservableCounter(kMetricProcessContextSwitches,
  52. descrMetricProcessContextSwitches,
  53. unitMetricProcessContextSwitches);
  54. }
  55. /**
  56. * Total CPU seconds broken down by different states.
  57. * <p>
  58. * counter
  59. */
  60. static constexpr const char *kMetricProcessCpuTime = "process.cpu.time";
  61. static constexpr const char *descrMetricProcessCpuTime =
  62. "Total CPU seconds broken down by different states.";
  63. static constexpr const char *unitMetricProcessCpuTime = "s";
  64. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricProcessCpuTime(
  65. metrics::Meter *meter)
  66. {
  67. return meter->CreateUInt64Counter(kMetricProcessCpuTime, descrMetricProcessCpuTime,
  68. unitMetricProcessCpuTime);
  69. }
  70. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricProcessCpuTime(
  71. metrics::Meter *meter)
  72. {
  73. return meter->CreateDoubleCounter(kMetricProcessCpuTime, descrMetricProcessCpuTime,
  74. unitMetricProcessCpuTime);
  75. }
  76. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricProcessCpuTime(
  77. metrics::Meter *meter)
  78. {
  79. return meter->CreateInt64ObservableCounter(kMetricProcessCpuTime, descrMetricProcessCpuTime,
  80. unitMetricProcessCpuTime);
  81. }
  82. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  83. CreateAsyncDoubleMetricProcessCpuTime(metrics::Meter *meter)
  84. {
  85. return meter->CreateDoubleObservableCounter(kMetricProcessCpuTime, descrMetricProcessCpuTime,
  86. unitMetricProcessCpuTime);
  87. }
  88. /**
  89. * Difference in process.cpu.time since the last measurement, divided by the elapsed time and number
  90. * of CPUs available to the process. <p> gauge
  91. */
  92. static constexpr const char *kMetricProcessCpuUtilization = "process.cpu.utilization";
  93. static constexpr const char *descrMetricProcessCpuUtilization =
  94. "Difference in process.cpu.time since the last measurement, divided by the elapsed time and "
  95. "number of CPUs available to the process.";
  96. static constexpr const char *unitMetricProcessCpuUtilization = "1";
  97. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  98. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricProcessCpuUtilization(
  99. metrics::Meter *meter)
  100. {
  101. return meter->CreateInt64Gauge(kMetricProcessCpuUtilization, descrMetricProcessCpuUtilization,
  102. unitMetricProcessCpuUtilization);
  103. }
  104. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricProcessCpuUtilization(
  105. metrics::Meter *meter)
  106. {
  107. return meter->CreateDoubleGauge(kMetricProcessCpuUtilization, descrMetricProcessCpuUtilization,
  108. unitMetricProcessCpuUtilization);
  109. }
  110. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  111. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  112. CreateAsyncInt64MetricProcessCpuUtilization(metrics::Meter *meter)
  113. {
  114. return meter->CreateInt64ObservableGauge(kMetricProcessCpuUtilization,
  115. descrMetricProcessCpuUtilization,
  116. unitMetricProcessCpuUtilization);
  117. }
  118. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  119. CreateAsyncDoubleMetricProcessCpuUtilization(metrics::Meter *meter)
  120. {
  121. return meter->CreateDoubleObservableGauge(kMetricProcessCpuUtilization,
  122. descrMetricProcessCpuUtilization,
  123. unitMetricProcessCpuUtilization);
  124. }
  125. /**
  126. * Disk bytes transferred.
  127. * <p>
  128. * counter
  129. */
  130. static constexpr const char *kMetricProcessDiskIo = "process.disk.io";
  131. static constexpr const char *descrMetricProcessDiskIo = "Disk bytes transferred.";
  132. static constexpr const char *unitMetricProcessDiskIo = "By";
  133. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricProcessDiskIo(
  134. metrics::Meter *meter)
  135. {
  136. return meter->CreateUInt64Counter(kMetricProcessDiskIo, descrMetricProcessDiskIo,
  137. unitMetricProcessDiskIo);
  138. }
  139. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricProcessDiskIo(
  140. metrics::Meter *meter)
  141. {
  142. return meter->CreateDoubleCounter(kMetricProcessDiskIo, descrMetricProcessDiskIo,
  143. unitMetricProcessDiskIo);
  144. }
  145. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricProcessDiskIo(
  146. metrics::Meter *meter)
  147. {
  148. return meter->CreateInt64ObservableCounter(kMetricProcessDiskIo, descrMetricProcessDiskIo,
  149. unitMetricProcessDiskIo);
  150. }
  151. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricProcessDiskIo(
  152. metrics::Meter *meter)
  153. {
  154. return meter->CreateDoubleObservableCounter(kMetricProcessDiskIo, descrMetricProcessDiskIo,
  155. unitMetricProcessDiskIo);
  156. }
  157. /**
  158. * The amount of physical memory in use.
  159. * <p>
  160. * updowncounter
  161. */
  162. static constexpr const char *kMetricProcessMemoryUsage = "process.memory.usage";
  163. static constexpr const char *descrMetricProcessMemoryUsage =
  164. "The amount of physical memory in use.";
  165. static constexpr const char *unitMetricProcessMemoryUsage = "By";
  166. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  167. CreateSyncInt64MetricProcessMemoryUsage(metrics::Meter *meter)
  168. {
  169. return meter->CreateInt64UpDownCounter(kMetricProcessMemoryUsage, descrMetricProcessMemoryUsage,
  170. unitMetricProcessMemoryUsage);
  171. }
  172. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  173. CreateSyncDoubleMetricProcessMemoryUsage(metrics::Meter *meter)
  174. {
  175. return meter->CreateDoubleUpDownCounter(kMetricProcessMemoryUsage, descrMetricProcessMemoryUsage,
  176. unitMetricProcessMemoryUsage);
  177. }
  178. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  179. CreateAsyncInt64MetricProcessMemoryUsage(metrics::Meter *meter)
  180. {
  181. return meter->CreateInt64ObservableUpDownCounter(
  182. kMetricProcessMemoryUsage, descrMetricProcessMemoryUsage, unitMetricProcessMemoryUsage);
  183. }
  184. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  185. CreateAsyncDoubleMetricProcessMemoryUsage(metrics::Meter *meter)
  186. {
  187. return meter->CreateDoubleObservableUpDownCounter(
  188. kMetricProcessMemoryUsage, descrMetricProcessMemoryUsage, unitMetricProcessMemoryUsage);
  189. }
  190. /**
  191. * The amount of committed virtual memory.
  192. * <p>
  193. * updowncounter
  194. */
  195. static constexpr const char *kMetricProcessMemoryVirtual = "process.memory.virtual";
  196. static constexpr const char *descrMetricProcessMemoryVirtual =
  197. "The amount of committed virtual memory.";
  198. static constexpr const char *unitMetricProcessMemoryVirtual = "By";
  199. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  200. CreateSyncInt64MetricProcessMemoryVirtual(metrics::Meter *meter)
  201. {
  202. return meter->CreateInt64UpDownCounter(
  203. kMetricProcessMemoryVirtual, descrMetricProcessMemoryVirtual, unitMetricProcessMemoryVirtual);
  204. }
  205. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  206. CreateSyncDoubleMetricProcessMemoryVirtual(metrics::Meter *meter)
  207. {
  208. return meter->CreateDoubleUpDownCounter(
  209. kMetricProcessMemoryVirtual, descrMetricProcessMemoryVirtual, unitMetricProcessMemoryVirtual);
  210. }
  211. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  212. CreateAsyncInt64MetricProcessMemoryVirtual(metrics::Meter *meter)
  213. {
  214. return meter->CreateInt64ObservableUpDownCounter(
  215. kMetricProcessMemoryVirtual, descrMetricProcessMemoryVirtual, unitMetricProcessMemoryVirtual);
  216. }
  217. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  218. CreateAsyncDoubleMetricProcessMemoryVirtual(metrics::Meter *meter)
  219. {
  220. return meter->CreateDoubleObservableUpDownCounter(
  221. kMetricProcessMemoryVirtual, descrMetricProcessMemoryVirtual, unitMetricProcessMemoryVirtual);
  222. }
  223. /**
  224. * Network bytes transferred.
  225. * <p>
  226. * counter
  227. */
  228. static constexpr const char *kMetricProcessNetworkIo = "process.network.io";
  229. static constexpr const char *descrMetricProcessNetworkIo = "Network bytes transferred.";
  230. static constexpr const char *unitMetricProcessNetworkIo = "By";
  231. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricProcessNetworkIo(
  232. metrics::Meter *meter)
  233. {
  234. return meter->CreateUInt64Counter(kMetricProcessNetworkIo, descrMetricProcessNetworkIo,
  235. unitMetricProcessNetworkIo);
  236. }
  237. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricProcessNetworkIo(
  238. metrics::Meter *meter)
  239. {
  240. return meter->CreateDoubleCounter(kMetricProcessNetworkIo, descrMetricProcessNetworkIo,
  241. unitMetricProcessNetworkIo);
  242. }
  243. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  244. CreateAsyncInt64MetricProcessNetworkIo(metrics::Meter *meter)
  245. {
  246. return meter->CreateInt64ObservableCounter(kMetricProcessNetworkIo, descrMetricProcessNetworkIo,
  247. unitMetricProcessNetworkIo);
  248. }
  249. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  250. CreateAsyncDoubleMetricProcessNetworkIo(metrics::Meter *meter)
  251. {
  252. return meter->CreateDoubleObservableCounter(kMetricProcessNetworkIo, descrMetricProcessNetworkIo,
  253. unitMetricProcessNetworkIo);
  254. }
  255. /**
  256. * Number of file descriptors in use by the process.
  257. * <p>
  258. * updowncounter
  259. */
  260. static constexpr const char *kMetricProcessOpenFileDescriptorCount =
  261. "process.open_file_descriptor.count";
  262. static constexpr const char *descrMetricProcessOpenFileDescriptorCount =
  263. "Number of file descriptors in use by the process.";
  264. static constexpr const char *unitMetricProcessOpenFileDescriptorCount = "{file_descriptor}";
  265. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  266. CreateSyncInt64MetricProcessOpenFileDescriptorCount(metrics::Meter *meter)
  267. {
  268. return meter->CreateInt64UpDownCounter(kMetricProcessOpenFileDescriptorCount,
  269. descrMetricProcessOpenFileDescriptorCount,
  270. unitMetricProcessOpenFileDescriptorCount);
  271. }
  272. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  273. CreateSyncDoubleMetricProcessOpenFileDescriptorCount(metrics::Meter *meter)
  274. {
  275. return meter->CreateDoubleUpDownCounter(kMetricProcessOpenFileDescriptorCount,
  276. descrMetricProcessOpenFileDescriptorCount,
  277. unitMetricProcessOpenFileDescriptorCount);
  278. }
  279. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  280. CreateAsyncInt64MetricProcessOpenFileDescriptorCount(metrics::Meter *meter)
  281. {
  282. return meter->CreateInt64ObservableUpDownCounter(kMetricProcessOpenFileDescriptorCount,
  283. descrMetricProcessOpenFileDescriptorCount,
  284. unitMetricProcessOpenFileDescriptorCount);
  285. }
  286. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  287. CreateAsyncDoubleMetricProcessOpenFileDescriptorCount(metrics::Meter *meter)
  288. {
  289. return meter->CreateDoubleObservableUpDownCounter(kMetricProcessOpenFileDescriptorCount,
  290. descrMetricProcessOpenFileDescriptorCount,
  291. unitMetricProcessOpenFileDescriptorCount);
  292. }
  293. /**
  294. * Number of page faults the process has made.
  295. * <p>
  296. * counter
  297. */
  298. static constexpr const char *kMetricProcessPagingFaults = "process.paging.faults";
  299. static constexpr const char *descrMetricProcessPagingFaults =
  300. "Number of page faults the process has made.";
  301. static constexpr const char *unitMetricProcessPagingFaults = "{fault}";
  302. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  303. CreateSyncInt64MetricProcessPagingFaults(metrics::Meter *meter)
  304. {
  305. return meter->CreateUInt64Counter(kMetricProcessPagingFaults, descrMetricProcessPagingFaults,
  306. unitMetricProcessPagingFaults);
  307. }
  308. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricProcessPagingFaults(
  309. metrics::Meter *meter)
  310. {
  311. return meter->CreateDoubleCounter(kMetricProcessPagingFaults, descrMetricProcessPagingFaults,
  312. unitMetricProcessPagingFaults);
  313. }
  314. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  315. CreateAsyncInt64MetricProcessPagingFaults(metrics::Meter *meter)
  316. {
  317. return meter->CreateInt64ObservableCounter(
  318. kMetricProcessPagingFaults, descrMetricProcessPagingFaults, unitMetricProcessPagingFaults);
  319. }
  320. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  321. CreateAsyncDoubleMetricProcessPagingFaults(metrics::Meter *meter)
  322. {
  323. return meter->CreateDoubleObservableCounter(
  324. kMetricProcessPagingFaults, descrMetricProcessPagingFaults, unitMetricProcessPagingFaults);
  325. }
  326. /**
  327. * Process threads count.
  328. * <p>
  329. * updowncounter
  330. */
  331. static constexpr const char *kMetricProcessThreadCount = "process.thread.count";
  332. static constexpr const char *descrMetricProcessThreadCount = "Process threads count.";
  333. static constexpr const char *unitMetricProcessThreadCount = "{thread}";
  334. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  335. CreateSyncInt64MetricProcessThreadCount(metrics::Meter *meter)
  336. {
  337. return meter->CreateInt64UpDownCounter(kMetricProcessThreadCount, descrMetricProcessThreadCount,
  338. unitMetricProcessThreadCount);
  339. }
  340. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  341. CreateSyncDoubleMetricProcessThreadCount(metrics::Meter *meter)
  342. {
  343. return meter->CreateDoubleUpDownCounter(kMetricProcessThreadCount, descrMetricProcessThreadCount,
  344. unitMetricProcessThreadCount);
  345. }
  346. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  347. CreateAsyncInt64MetricProcessThreadCount(metrics::Meter *meter)
  348. {
  349. return meter->CreateInt64ObservableUpDownCounter(
  350. kMetricProcessThreadCount, descrMetricProcessThreadCount, unitMetricProcessThreadCount);
  351. }
  352. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  353. CreateAsyncDoubleMetricProcessThreadCount(metrics::Meter *meter)
  354. {
  355. return meter->CreateDoubleObservableUpDownCounter(
  356. kMetricProcessThreadCount, descrMetricProcessThreadCount, unitMetricProcessThreadCount);
  357. }
  358. /**
  359. * The time the process has been running.
  360. * <p>
  361. * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds
  362. * as a floating point number with the highest precision available. The actual accuracy would depend
  363. * on the instrumentation and operating system. <p> gauge
  364. */
  365. static constexpr const char *kMetricProcessUptime = "process.uptime";
  366. static constexpr const char *descrMetricProcessUptime = "The time the process has been running.";
  367. static constexpr const char *unitMetricProcessUptime = "s";
  368. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  369. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricProcessUptime(
  370. metrics::Meter *meter)
  371. {
  372. return meter->CreateInt64Gauge(kMetricProcessUptime, descrMetricProcessUptime,
  373. unitMetricProcessUptime);
  374. }
  375. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricProcessUptime(
  376. metrics::Meter *meter)
  377. {
  378. return meter->CreateDoubleGauge(kMetricProcessUptime, descrMetricProcessUptime,
  379. unitMetricProcessUptime);
  380. }
  381. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  382. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricProcessUptime(
  383. metrics::Meter *meter)
  384. {
  385. return meter->CreateInt64ObservableGauge(kMetricProcessUptime, descrMetricProcessUptime,
  386. unitMetricProcessUptime);
  387. }
  388. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricProcessUptime(
  389. metrics::Meter *meter)
  390. {
  391. return meter->CreateDoubleObservableGauge(kMetricProcessUptime, descrMetricProcessUptime,
  392. unitMetricProcessUptime);
  393. }
  394. } // namespace process
  395. } // namespace semconv
  396. OPENTELEMETRY_END_NAMESPACE