faas_metrics.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  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 faas
  17. {
  18. /**
  19. * Number of invocation cold starts
  20. * <p>
  21. * counter
  22. */
  23. static constexpr const char *kMetricFaasColdstarts = "faas.coldstarts";
  24. static constexpr const char *descrMetricFaasColdstarts = "Number of invocation cold starts";
  25. static constexpr const char *unitMetricFaasColdstarts = "{coldstart}";
  26. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricFaasColdstarts(
  27. metrics::Meter *meter)
  28. {
  29. return meter->CreateUInt64Counter(kMetricFaasColdstarts, descrMetricFaasColdstarts,
  30. unitMetricFaasColdstarts);
  31. }
  32. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricFaasColdstarts(
  33. metrics::Meter *meter)
  34. {
  35. return meter->CreateDoubleCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts,
  36. unitMetricFaasColdstarts);
  37. }
  38. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricFaasColdstarts(
  39. metrics::Meter *meter)
  40. {
  41. return meter->CreateInt64ObservableCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts,
  42. unitMetricFaasColdstarts);
  43. }
  44. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  45. CreateAsyncDoubleMetricFaasColdstarts(metrics::Meter *meter)
  46. {
  47. return meter->CreateDoubleObservableCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts,
  48. unitMetricFaasColdstarts);
  49. }
  50. /**
  51. * Distribution of CPU usage per invocation
  52. * <p>
  53. * histogram
  54. */
  55. static constexpr const char *kMetricFaasCpuUsage = "faas.cpu_usage";
  56. static constexpr const char *descrMetricFaasCpuUsage = "Distribution of CPU usage per invocation";
  57. static constexpr const char *unitMetricFaasCpuUsage = "s";
  58. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncInt64MetricFaasCpuUsage(
  59. metrics::Meter *meter)
  60. {
  61. return meter->CreateUInt64Histogram(kMetricFaasCpuUsage, descrMetricFaasCpuUsage,
  62. unitMetricFaasCpuUsage);
  63. }
  64. static inline nostd::unique_ptr<metrics::Histogram<double>> CreateSyncDoubleMetricFaasCpuUsage(
  65. metrics::Meter *meter)
  66. {
  67. return meter->CreateDoubleHistogram(kMetricFaasCpuUsage, descrMetricFaasCpuUsage,
  68. unitMetricFaasCpuUsage);
  69. }
  70. /**
  71. * Number of invocation errors
  72. * <p>
  73. * counter
  74. */
  75. static constexpr const char *kMetricFaasErrors = "faas.errors";
  76. static constexpr const char *descrMetricFaasErrors = "Number of invocation errors";
  77. static constexpr const char *unitMetricFaasErrors = "{error}";
  78. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricFaasErrors(
  79. metrics::Meter *meter)
  80. {
  81. return meter->CreateUInt64Counter(kMetricFaasErrors, descrMetricFaasErrors, unitMetricFaasErrors);
  82. }
  83. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricFaasErrors(
  84. metrics::Meter *meter)
  85. {
  86. return meter->CreateDoubleCounter(kMetricFaasErrors, descrMetricFaasErrors, unitMetricFaasErrors);
  87. }
  88. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricFaasErrors(
  89. metrics::Meter *meter)
  90. {
  91. return meter->CreateInt64ObservableCounter(kMetricFaasErrors, descrMetricFaasErrors,
  92. unitMetricFaasErrors);
  93. }
  94. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricFaasErrors(
  95. metrics::Meter *meter)
  96. {
  97. return meter->CreateDoubleObservableCounter(kMetricFaasErrors, descrMetricFaasErrors,
  98. unitMetricFaasErrors);
  99. }
  100. /**
  101. * Measures the duration of the function's initialization, such as a cold start
  102. * <p>
  103. * histogram
  104. */
  105. static constexpr const char *kMetricFaasInitDuration = "faas.init_duration";
  106. static constexpr const char *descrMetricFaasInitDuration =
  107. "Measures the duration of the function's initialization, such as a cold start";
  108. static constexpr const char *unitMetricFaasInitDuration = "s";
  109. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncInt64MetricFaasInitDuration(
  110. metrics::Meter *meter)
  111. {
  112. return meter->CreateUInt64Histogram(kMetricFaasInitDuration, descrMetricFaasInitDuration,
  113. unitMetricFaasInitDuration);
  114. }
  115. static inline nostd::unique_ptr<metrics::Histogram<double>> CreateSyncDoubleMetricFaasInitDuration(
  116. metrics::Meter *meter)
  117. {
  118. return meter->CreateDoubleHistogram(kMetricFaasInitDuration, descrMetricFaasInitDuration,
  119. unitMetricFaasInitDuration);
  120. }
  121. /**
  122. * Number of successful invocations
  123. * <p>
  124. * counter
  125. */
  126. static constexpr const char *kMetricFaasInvocations = "faas.invocations";
  127. static constexpr const char *descrMetricFaasInvocations = "Number of successful invocations";
  128. static constexpr const char *unitMetricFaasInvocations = "{invocation}";
  129. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricFaasInvocations(
  130. metrics::Meter *meter)
  131. {
  132. return meter->CreateUInt64Counter(kMetricFaasInvocations, descrMetricFaasInvocations,
  133. unitMetricFaasInvocations);
  134. }
  135. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricFaasInvocations(
  136. metrics::Meter *meter)
  137. {
  138. return meter->CreateDoubleCounter(kMetricFaasInvocations, descrMetricFaasInvocations,
  139. unitMetricFaasInvocations);
  140. }
  141. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  142. CreateAsyncInt64MetricFaasInvocations(metrics::Meter *meter)
  143. {
  144. return meter->CreateInt64ObservableCounter(kMetricFaasInvocations, descrMetricFaasInvocations,
  145. unitMetricFaasInvocations);
  146. }
  147. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  148. CreateAsyncDoubleMetricFaasInvocations(metrics::Meter *meter)
  149. {
  150. return meter->CreateDoubleObservableCounter(kMetricFaasInvocations, descrMetricFaasInvocations,
  151. unitMetricFaasInvocations);
  152. }
  153. /**
  154. * Measures the duration of the function's logic execution
  155. * <p>
  156. * histogram
  157. */
  158. static constexpr const char *kMetricFaasInvokeDuration = "faas.invoke_duration";
  159. static constexpr const char *descrMetricFaasInvokeDuration =
  160. "Measures the duration of the function's logic execution";
  161. static constexpr const char *unitMetricFaasInvokeDuration = "s";
  162. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  163. CreateSyncInt64MetricFaasInvokeDuration(metrics::Meter *meter)
  164. {
  165. return meter->CreateUInt64Histogram(kMetricFaasInvokeDuration, descrMetricFaasInvokeDuration,
  166. unitMetricFaasInvokeDuration);
  167. }
  168. static inline nostd::unique_ptr<metrics::Histogram<double>>
  169. CreateSyncDoubleMetricFaasInvokeDuration(metrics::Meter *meter)
  170. {
  171. return meter->CreateDoubleHistogram(kMetricFaasInvokeDuration, descrMetricFaasInvokeDuration,
  172. unitMetricFaasInvokeDuration);
  173. }
  174. /**
  175. * Distribution of max memory usage per invocation
  176. * <p>
  177. * histogram
  178. */
  179. static constexpr const char *kMetricFaasMemUsage = "faas.mem_usage";
  180. static constexpr const char *descrMetricFaasMemUsage =
  181. "Distribution of max memory usage per invocation";
  182. static constexpr const char *unitMetricFaasMemUsage = "By";
  183. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncInt64MetricFaasMemUsage(
  184. metrics::Meter *meter)
  185. {
  186. return meter->CreateUInt64Histogram(kMetricFaasMemUsage, descrMetricFaasMemUsage,
  187. unitMetricFaasMemUsage);
  188. }
  189. static inline nostd::unique_ptr<metrics::Histogram<double>> CreateSyncDoubleMetricFaasMemUsage(
  190. metrics::Meter *meter)
  191. {
  192. return meter->CreateDoubleHistogram(kMetricFaasMemUsage, descrMetricFaasMemUsage,
  193. unitMetricFaasMemUsage);
  194. }
  195. /**
  196. * Distribution of net I/O usage per invocation
  197. * <p>
  198. * histogram
  199. */
  200. static constexpr const char *kMetricFaasNetIo = "faas.net_io";
  201. static constexpr const char *descrMetricFaasNetIo = "Distribution of net I/O usage per invocation";
  202. static constexpr const char *unitMetricFaasNetIo = "By";
  203. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncInt64MetricFaasNetIo(
  204. metrics::Meter *meter)
  205. {
  206. return meter->CreateUInt64Histogram(kMetricFaasNetIo, descrMetricFaasNetIo, unitMetricFaasNetIo);
  207. }
  208. static inline nostd::unique_ptr<metrics::Histogram<double>> CreateSyncDoubleMetricFaasNetIo(
  209. metrics::Meter *meter)
  210. {
  211. return meter->CreateDoubleHistogram(kMetricFaasNetIo, descrMetricFaasNetIo, unitMetricFaasNetIo);
  212. }
  213. /**
  214. * Number of invocation timeouts
  215. * <p>
  216. * counter
  217. */
  218. static constexpr const char *kMetricFaasTimeouts = "faas.timeouts";
  219. static constexpr const char *descrMetricFaasTimeouts = "Number of invocation timeouts";
  220. static constexpr const char *unitMetricFaasTimeouts = "{timeout}";
  221. static inline nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncInt64MetricFaasTimeouts(
  222. metrics::Meter *meter)
  223. {
  224. return meter->CreateUInt64Counter(kMetricFaasTimeouts, descrMetricFaasTimeouts,
  225. unitMetricFaasTimeouts);
  226. }
  227. static inline nostd::unique_ptr<metrics::Counter<double>> CreateSyncDoubleMetricFaasTimeouts(
  228. metrics::Meter *meter)
  229. {
  230. return meter->CreateDoubleCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts,
  231. unitMetricFaasTimeouts);
  232. }
  233. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricFaasTimeouts(
  234. metrics::Meter *meter)
  235. {
  236. return meter->CreateInt64ObservableCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts,
  237. unitMetricFaasTimeouts);
  238. }
  239. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricFaasTimeouts(
  240. metrics::Meter *meter)
  241. {
  242. return meter->CreateDoubleObservableCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts,
  243. unitMetricFaasTimeouts);
  244. }
  245. } // namespace faas
  246. } // namespace semconv
  247. OPENTELEMETRY_END_NAMESPACE