messaging_metrics.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  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 messaging
  17. {
  18. /**
  19. * Number of messages that were delivered to the application.
  20. * <p>
  21. * Records the number of messages pulled from the broker or number of messages dispatched to the
  22. * application in push-based scenarios. The metric SHOULD be reported once per message delivery. For
  23. * example, if receiving and processing operations are both instrumented for a single message
  24. * delivery, this counter is incremented when the message is received and not reported when it is
  25. * processed. <p> counter
  26. */
  27. static constexpr const char *kMetricMessagingClientConsumedMessages =
  28. "messaging.client.consumed.messages";
  29. static constexpr const char *descrMetricMessagingClientConsumedMessages =
  30. "Number of messages that were delivered to the application.";
  31. static constexpr const char *unitMetricMessagingClientConsumedMessages = "{message}";
  32. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  33. CreateSyncInt64MetricMessagingClientConsumedMessages(metrics::Meter *meter)
  34. {
  35. return meter->CreateUInt64Counter(kMetricMessagingClientConsumedMessages,
  36. descrMetricMessagingClientConsumedMessages,
  37. unitMetricMessagingClientConsumedMessages);
  38. }
  39. static inline nostd::unique_ptr<metrics::Counter<double>>
  40. CreateSyncDoubleMetricMessagingClientConsumedMessages(metrics::Meter *meter)
  41. {
  42. return meter->CreateDoubleCounter(kMetricMessagingClientConsumedMessages,
  43. descrMetricMessagingClientConsumedMessages,
  44. unitMetricMessagingClientConsumedMessages);
  45. }
  46. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  47. CreateAsyncInt64MetricMessagingClientConsumedMessages(metrics::Meter *meter)
  48. {
  49. return meter->CreateInt64ObservableCounter(kMetricMessagingClientConsumedMessages,
  50. descrMetricMessagingClientConsumedMessages,
  51. unitMetricMessagingClientConsumedMessages);
  52. }
  53. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  54. CreateAsyncDoubleMetricMessagingClientConsumedMessages(metrics::Meter *meter)
  55. {
  56. return meter->CreateDoubleObservableCounter(kMetricMessagingClientConsumedMessages,
  57. descrMetricMessagingClientConsumedMessages,
  58. unitMetricMessagingClientConsumedMessages);
  59. }
  60. /**
  61. * Duration of messaging operation initiated by a producer or consumer client.
  62. * <p>
  63. * This metric SHOULD NOT be used to report processing duration - processing duration is reported in
  64. * @code messaging.process.duration @endcode metric. <p> histogram
  65. */
  66. static constexpr const char *kMetricMessagingClientOperationDuration =
  67. "messaging.client.operation.duration";
  68. static constexpr const char *descrMetricMessagingClientOperationDuration =
  69. "Duration of messaging operation initiated by a producer or consumer client.";
  70. static constexpr const char *unitMetricMessagingClientOperationDuration = "s";
  71. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  72. CreateSyncInt64MetricMessagingClientOperationDuration(metrics::Meter *meter)
  73. {
  74. return meter->CreateUInt64Histogram(kMetricMessagingClientOperationDuration,
  75. descrMetricMessagingClientOperationDuration,
  76. unitMetricMessagingClientOperationDuration);
  77. }
  78. static inline nostd::unique_ptr<metrics::Histogram<double>>
  79. CreateSyncDoubleMetricMessagingClientOperationDuration(metrics::Meter *meter)
  80. {
  81. return meter->CreateDoubleHistogram(kMetricMessagingClientOperationDuration,
  82. descrMetricMessagingClientOperationDuration,
  83. unitMetricMessagingClientOperationDuration);
  84. }
  85. /**
  86. * Deprecated. Use @code messaging.client.sent.messages @endcode instead.
  87. *
  88. * @deprecated
  89. * {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "uncategorized"}
  90. * <p>
  91. * counter
  92. */
  93. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingClientPublishedMessages =
  94. "messaging.client.published.messages";
  95. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingClientPublishedMessages =
  96. "Deprecated. Use `messaging.client.sent.messages` instead.";
  97. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingClientPublishedMessages =
  98. "{message}";
  99. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  100. CreateSyncInt64MetricMessagingClientPublishedMessages(metrics::Meter *meter)
  101. {
  102. return meter->CreateUInt64Counter(kMetricMessagingClientPublishedMessages,
  103. descrMetricMessagingClientPublishedMessages,
  104. unitMetricMessagingClientPublishedMessages);
  105. }
  106. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  107. CreateSyncDoubleMetricMessagingClientPublishedMessages(metrics::Meter *meter)
  108. {
  109. return meter->CreateDoubleCounter(kMetricMessagingClientPublishedMessages,
  110. descrMetricMessagingClientPublishedMessages,
  111. unitMetricMessagingClientPublishedMessages);
  112. }
  113. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  114. CreateAsyncInt64MetricMessagingClientPublishedMessages(metrics::Meter *meter)
  115. {
  116. return meter->CreateInt64ObservableCounter(kMetricMessagingClientPublishedMessages,
  117. descrMetricMessagingClientPublishedMessages,
  118. unitMetricMessagingClientPublishedMessages);
  119. }
  120. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  121. CreateAsyncDoubleMetricMessagingClientPublishedMessages(metrics::Meter *meter)
  122. {
  123. return meter->CreateDoubleObservableCounter(kMetricMessagingClientPublishedMessages,
  124. descrMetricMessagingClientPublishedMessages,
  125. unitMetricMessagingClientPublishedMessages);
  126. }
  127. /**
  128. * Number of messages producer attempted to send to the broker.
  129. * <p>
  130. * This metric MUST NOT count messages that were created but haven't yet been sent.
  131. * <p>
  132. * counter
  133. */
  134. static constexpr const char *kMetricMessagingClientSentMessages = "messaging.client.sent.messages";
  135. static constexpr const char *descrMetricMessagingClientSentMessages =
  136. "Number of messages producer attempted to send to the broker.";
  137. static constexpr const char *unitMetricMessagingClientSentMessages = "{message}";
  138. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  139. CreateSyncInt64MetricMessagingClientSentMessages(metrics::Meter *meter)
  140. {
  141. return meter->CreateUInt64Counter(kMetricMessagingClientSentMessages,
  142. descrMetricMessagingClientSentMessages,
  143. unitMetricMessagingClientSentMessages);
  144. }
  145. static inline nostd::unique_ptr<metrics::Counter<double>>
  146. CreateSyncDoubleMetricMessagingClientSentMessages(metrics::Meter *meter)
  147. {
  148. return meter->CreateDoubleCounter(kMetricMessagingClientSentMessages,
  149. descrMetricMessagingClientSentMessages,
  150. unitMetricMessagingClientSentMessages);
  151. }
  152. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  153. CreateAsyncInt64MetricMessagingClientSentMessages(metrics::Meter *meter)
  154. {
  155. return meter->CreateInt64ObservableCounter(kMetricMessagingClientSentMessages,
  156. descrMetricMessagingClientSentMessages,
  157. unitMetricMessagingClientSentMessages);
  158. }
  159. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  160. CreateAsyncDoubleMetricMessagingClientSentMessages(metrics::Meter *meter)
  161. {
  162. return meter->CreateDoubleObservableCounter(kMetricMessagingClientSentMessages,
  163. descrMetricMessagingClientSentMessages,
  164. unitMetricMessagingClientSentMessages);
  165. }
  166. /**
  167. * Duration of processing operation.
  168. * <p>
  169. * This metric MUST be reported for operations with @code messaging.operation.type @endcode that
  170. * matches @code process @endcode. <p> histogram
  171. */
  172. static constexpr const char *kMetricMessagingProcessDuration = "messaging.process.duration";
  173. static constexpr const char *descrMetricMessagingProcessDuration =
  174. "Duration of processing operation.";
  175. static constexpr const char *unitMetricMessagingProcessDuration = "s";
  176. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  177. CreateSyncInt64MetricMessagingProcessDuration(metrics::Meter *meter)
  178. {
  179. return meter->CreateUInt64Histogram(kMetricMessagingProcessDuration,
  180. descrMetricMessagingProcessDuration,
  181. unitMetricMessagingProcessDuration);
  182. }
  183. static inline nostd::unique_ptr<metrics::Histogram<double>>
  184. CreateSyncDoubleMetricMessagingProcessDuration(metrics::Meter *meter)
  185. {
  186. return meter->CreateDoubleHistogram(kMetricMessagingProcessDuration,
  187. descrMetricMessagingProcessDuration,
  188. unitMetricMessagingProcessDuration);
  189. }
  190. /**
  191. * Deprecated. Use @code messaging.client.consumed.messages @endcode instead.
  192. *
  193. * @deprecated
  194. * {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason":
  195. * "uncategorized"} <p> counter
  196. */
  197. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingProcessMessages =
  198. "messaging.process.messages";
  199. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingProcessMessages =
  200. "Deprecated. Use `messaging.client.consumed.messages` instead.";
  201. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingProcessMessages =
  202. "{message}";
  203. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  204. CreateSyncInt64MetricMessagingProcessMessages(metrics::Meter *meter)
  205. {
  206. return meter->CreateUInt64Counter(kMetricMessagingProcessMessages,
  207. descrMetricMessagingProcessMessages,
  208. unitMetricMessagingProcessMessages);
  209. }
  210. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  211. CreateSyncDoubleMetricMessagingProcessMessages(metrics::Meter *meter)
  212. {
  213. return meter->CreateDoubleCounter(kMetricMessagingProcessMessages,
  214. descrMetricMessagingProcessMessages,
  215. unitMetricMessagingProcessMessages);
  216. }
  217. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  218. CreateAsyncInt64MetricMessagingProcessMessages(metrics::Meter *meter)
  219. {
  220. return meter->CreateInt64ObservableCounter(kMetricMessagingProcessMessages,
  221. descrMetricMessagingProcessMessages,
  222. unitMetricMessagingProcessMessages);
  223. }
  224. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  225. CreateAsyncDoubleMetricMessagingProcessMessages(metrics::Meter *meter)
  226. {
  227. return meter->CreateDoubleObservableCounter(kMetricMessagingProcessMessages,
  228. descrMetricMessagingProcessMessages,
  229. unitMetricMessagingProcessMessages);
  230. }
  231. /**
  232. * Deprecated. Use @code messaging.client.operation.duration @endcode instead.
  233. *
  234. * @deprecated
  235. * {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason":
  236. * "uncategorized"} <p> histogram
  237. */
  238. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishDuration =
  239. "messaging.publish.duration";
  240. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingPublishDuration =
  241. "Deprecated. Use `messaging.client.operation.duration` instead.";
  242. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingPublishDuration = "s";
  243. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  244. CreateSyncInt64MetricMessagingPublishDuration(metrics::Meter *meter)
  245. {
  246. return meter->CreateUInt64Histogram(kMetricMessagingPublishDuration,
  247. descrMetricMessagingPublishDuration,
  248. unitMetricMessagingPublishDuration);
  249. }
  250. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<double>>
  251. CreateSyncDoubleMetricMessagingPublishDuration(metrics::Meter *meter)
  252. {
  253. return meter->CreateDoubleHistogram(kMetricMessagingPublishDuration,
  254. descrMetricMessagingPublishDuration,
  255. unitMetricMessagingPublishDuration);
  256. }
  257. /**
  258. * Deprecated. Use @code messaging.client.produced.messages @endcode instead.
  259. *
  260. * @deprecated
  261. * {"note": "Replaced by @code messaging.client.produced.messages @endcode.", "reason":
  262. * "uncategorized"} <p> counter
  263. */
  264. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishMessages =
  265. "messaging.publish.messages";
  266. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingPublishMessages =
  267. "Deprecated. Use `messaging.client.produced.messages` instead.";
  268. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingPublishMessages =
  269. "{message}";
  270. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  271. CreateSyncInt64MetricMessagingPublishMessages(metrics::Meter *meter)
  272. {
  273. return meter->CreateUInt64Counter(kMetricMessagingPublishMessages,
  274. descrMetricMessagingPublishMessages,
  275. unitMetricMessagingPublishMessages);
  276. }
  277. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  278. CreateSyncDoubleMetricMessagingPublishMessages(metrics::Meter *meter)
  279. {
  280. return meter->CreateDoubleCounter(kMetricMessagingPublishMessages,
  281. descrMetricMessagingPublishMessages,
  282. unitMetricMessagingPublishMessages);
  283. }
  284. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  285. CreateAsyncInt64MetricMessagingPublishMessages(metrics::Meter *meter)
  286. {
  287. return meter->CreateInt64ObservableCounter(kMetricMessagingPublishMessages,
  288. descrMetricMessagingPublishMessages,
  289. unitMetricMessagingPublishMessages);
  290. }
  291. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  292. CreateAsyncDoubleMetricMessagingPublishMessages(metrics::Meter *meter)
  293. {
  294. return meter->CreateDoubleObservableCounter(kMetricMessagingPublishMessages,
  295. descrMetricMessagingPublishMessages,
  296. unitMetricMessagingPublishMessages);
  297. }
  298. /**
  299. * Deprecated. Use @code messaging.client.operation.duration @endcode instead.
  300. *
  301. * @deprecated
  302. * {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason":
  303. * "uncategorized"} <p> histogram
  304. */
  305. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveDuration =
  306. "messaging.receive.duration";
  307. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingReceiveDuration =
  308. "Deprecated. Use `messaging.client.operation.duration` instead.";
  309. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingReceiveDuration = "s";
  310. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  311. CreateSyncInt64MetricMessagingReceiveDuration(metrics::Meter *meter)
  312. {
  313. return meter->CreateUInt64Histogram(kMetricMessagingReceiveDuration,
  314. descrMetricMessagingReceiveDuration,
  315. unitMetricMessagingReceiveDuration);
  316. }
  317. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<double>>
  318. CreateSyncDoubleMetricMessagingReceiveDuration(metrics::Meter *meter)
  319. {
  320. return meter->CreateDoubleHistogram(kMetricMessagingReceiveDuration,
  321. descrMetricMessagingReceiveDuration,
  322. unitMetricMessagingReceiveDuration);
  323. }
  324. /**
  325. * Deprecated. Use @code messaging.client.consumed.messages @endcode instead.
  326. *
  327. * @deprecated
  328. * {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason":
  329. * "uncategorized"} <p> counter
  330. */
  331. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveMessages =
  332. "messaging.receive.messages";
  333. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingReceiveMessages =
  334. "Deprecated. Use `messaging.client.consumed.messages` instead.";
  335. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingReceiveMessages =
  336. "{message}";
  337. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  338. CreateSyncInt64MetricMessagingReceiveMessages(metrics::Meter *meter)
  339. {
  340. return meter->CreateUInt64Counter(kMetricMessagingReceiveMessages,
  341. descrMetricMessagingReceiveMessages,
  342. unitMetricMessagingReceiveMessages);
  343. }
  344. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  345. CreateSyncDoubleMetricMessagingReceiveMessages(metrics::Meter *meter)
  346. {
  347. return meter->CreateDoubleCounter(kMetricMessagingReceiveMessages,
  348. descrMetricMessagingReceiveMessages,
  349. unitMetricMessagingReceiveMessages);
  350. }
  351. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  352. CreateAsyncInt64MetricMessagingReceiveMessages(metrics::Meter *meter)
  353. {
  354. return meter->CreateInt64ObservableCounter(kMetricMessagingReceiveMessages,
  355. descrMetricMessagingReceiveMessages,
  356. unitMetricMessagingReceiveMessages);
  357. }
  358. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  359. CreateAsyncDoubleMetricMessagingReceiveMessages(metrics::Meter *meter)
  360. {
  361. return meter->CreateDoubleObservableCounter(kMetricMessagingReceiveMessages,
  362. descrMetricMessagingReceiveMessages,
  363. unitMetricMessagingReceiveMessages);
  364. }
  365. } // namespace messaging
  366. } // namespace semconv
  367. OPENTELEMETRY_END_NAMESPACE