2
0

cpu_metrics.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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 cpu
  17. {
  18. /**
  19. * Operating frequency of the logical CPU in Hertz.
  20. * <p>
  21. * gauge
  22. */
  23. static constexpr const char *kMetricCpuFrequency = "cpu.frequency";
  24. static constexpr const char *descrMetricCpuFrequency =
  25. "Operating frequency of the logical CPU in Hertz.";
  26. static constexpr const char *unitMetricCpuFrequency = "Hz";
  27. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  28. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricCpuFrequency(
  29. metrics::Meter *meter)
  30. {
  31. return meter->CreateInt64Gauge(kMetricCpuFrequency, descrMetricCpuFrequency,
  32. unitMetricCpuFrequency);
  33. }
  34. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricCpuFrequency(
  35. metrics::Meter *meter)
  36. {
  37. return meter->CreateDoubleGauge(kMetricCpuFrequency, descrMetricCpuFrequency,
  38. unitMetricCpuFrequency);
  39. }
  40. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  41. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricCpuFrequency(
  42. metrics::Meter *meter)
  43. {
  44. return meter->CreateInt64ObservableGauge(kMetricCpuFrequency, descrMetricCpuFrequency,
  45. unitMetricCpuFrequency);
  46. }
  47. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricCpuFrequency(
  48. metrics::Meter *meter)
  49. {
  50. return meter->CreateDoubleObservableGauge(kMetricCpuFrequency, descrMetricCpuFrequency,
  51. unitMetricCpuFrequency);
  52. }
  53. /**
  54. * Seconds each logical CPU spent on each mode
  55. * <p>
  56. * counter
  57. */
  58. static constexpr const char *kMetricCpuTime = "cpu.time";
  59. static constexpr const char *descrMetricCpuTime = "Seconds each logical CPU spent on each mode";
  60. static constexpr const char *unitMetricCpuTime = "s";
  61. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricCpuTime(
  62. metrics::Meter *meter)
  63. {
  64. return meter->CreateUInt64Counter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime);
  65. }
  66. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricCpuTime(
  67. metrics::Meter *meter)
  68. {
  69. return meter->CreateDoubleCounter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime);
  70. }
  71. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricCpuTime(
  72. metrics::Meter *meter)
  73. {
  74. return meter->CreateInt64ObservableCounter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime);
  75. }
  76. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricCpuTime(
  77. metrics::Meter *meter)
  78. {
  79. return meter->CreateDoubleObservableCounter(kMetricCpuTime, descrMetricCpuTime,
  80. unitMetricCpuTime);
  81. }
  82. /**
  83. * For each logical CPU, the utilization is calculated as the change in cumulative CPU time
  84. * (cpu.time) over a measurement interval, divided by the elapsed time. <p> gauge
  85. */
  86. static constexpr const char *kMetricCpuUtilization = "cpu.utilization";
  87. static constexpr const char *descrMetricCpuUtilization =
  88. "For each logical CPU, the utilization is calculated as the change in cumulative CPU time "
  89. "(cpu.time) over a measurement interval, divided by the elapsed time.";
  90. static constexpr const char *unitMetricCpuUtilization = "1";
  91. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  92. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricCpuUtilization(
  93. metrics::Meter *meter)
  94. {
  95. return meter->CreateInt64Gauge(kMetricCpuUtilization, descrMetricCpuUtilization,
  96. unitMetricCpuUtilization);
  97. }
  98. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricCpuUtilization(
  99. metrics::Meter *meter)
  100. {
  101. return meter->CreateDoubleGauge(kMetricCpuUtilization, descrMetricCpuUtilization,
  102. unitMetricCpuUtilization);
  103. }
  104. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  105. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricCpuUtilization(
  106. metrics::Meter *meter)
  107. {
  108. return meter->CreateInt64ObservableGauge(kMetricCpuUtilization, descrMetricCpuUtilization,
  109. unitMetricCpuUtilization);
  110. }
  111. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  112. CreateAsyncDoubleMetricCpuUtilization(metrics::Meter *meter)
  113. {
  114. return meter->CreateDoubleObservableGauge(kMetricCpuUtilization, descrMetricCpuUtilization,
  115. unitMetricCpuUtilization);
  116. }
  117. } // namespace cpu
  118. } // namespace semconv
  119. OPENTELEMETRY_END_NAMESPACE