messaging_metrics.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  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. @deprecated
  88. {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed",
  89. "renamed_to": "messaging.client.sent.messages"} <p> counter
  90. */
  91. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingClientPublishedMessages =
  92. "messaging.client.published.messages";
  93. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingClientPublishedMessages =
  94. "Deprecated. Use `messaging.client.sent.messages` instead.";
  95. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingClientPublishedMessages =
  96. "{message}";
  97. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  98. CreateSyncInt64MetricMessagingClientPublishedMessages(metrics::Meter *meter)
  99. {
  100. return meter->CreateUInt64Counter(kMetricMessagingClientPublishedMessages,
  101. descrMetricMessagingClientPublishedMessages,
  102. unitMetricMessagingClientPublishedMessages);
  103. }
  104. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  105. CreateSyncDoubleMetricMessagingClientPublishedMessages(metrics::Meter *meter)
  106. {
  107. return meter->CreateDoubleCounter(kMetricMessagingClientPublishedMessages,
  108. descrMetricMessagingClientPublishedMessages,
  109. unitMetricMessagingClientPublishedMessages);
  110. }
  111. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  112. CreateAsyncInt64MetricMessagingClientPublishedMessages(metrics::Meter *meter)
  113. {
  114. return meter->CreateInt64ObservableCounter(kMetricMessagingClientPublishedMessages,
  115. descrMetricMessagingClientPublishedMessages,
  116. unitMetricMessagingClientPublishedMessages);
  117. }
  118. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  119. CreateAsyncDoubleMetricMessagingClientPublishedMessages(metrics::Meter *meter)
  120. {
  121. return meter->CreateDoubleObservableCounter(kMetricMessagingClientPublishedMessages,
  122. descrMetricMessagingClientPublishedMessages,
  123. unitMetricMessagingClientPublishedMessages);
  124. }
  125. /**
  126. Number of messages producer attempted to send to the broker.
  127. <p>
  128. This metric MUST NOT count messages that were created but haven't yet been sent.
  129. <p>
  130. counter
  131. */
  132. static constexpr const char *kMetricMessagingClientSentMessages = "messaging.client.sent.messages";
  133. static constexpr const char *descrMetricMessagingClientSentMessages =
  134. "Number of messages producer attempted to send to the broker.";
  135. static constexpr const char *unitMetricMessagingClientSentMessages = "{message}";
  136. static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  137. CreateSyncInt64MetricMessagingClientSentMessages(metrics::Meter *meter)
  138. {
  139. return meter->CreateUInt64Counter(kMetricMessagingClientSentMessages,
  140. descrMetricMessagingClientSentMessages,
  141. unitMetricMessagingClientSentMessages);
  142. }
  143. static inline nostd::unique_ptr<metrics::Counter<double>>
  144. CreateSyncDoubleMetricMessagingClientSentMessages(metrics::Meter *meter)
  145. {
  146. return meter->CreateDoubleCounter(kMetricMessagingClientSentMessages,
  147. descrMetricMessagingClientSentMessages,
  148. unitMetricMessagingClientSentMessages);
  149. }
  150. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  151. CreateAsyncInt64MetricMessagingClientSentMessages(metrics::Meter *meter)
  152. {
  153. return meter->CreateInt64ObservableCounter(kMetricMessagingClientSentMessages,
  154. descrMetricMessagingClientSentMessages,
  155. unitMetricMessagingClientSentMessages);
  156. }
  157. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  158. CreateAsyncDoubleMetricMessagingClientSentMessages(metrics::Meter *meter)
  159. {
  160. return meter->CreateDoubleObservableCounter(kMetricMessagingClientSentMessages,
  161. descrMetricMessagingClientSentMessages,
  162. unitMetricMessagingClientSentMessages);
  163. }
  164. /**
  165. Duration of processing operation.
  166. <p>
  167. This metric MUST be reported for operations with @code messaging.operation.type @endcode that
  168. matches @code process @endcode. <p> histogram
  169. */
  170. static constexpr const char *kMetricMessagingProcessDuration = "messaging.process.duration";
  171. static constexpr const char *descrMetricMessagingProcessDuration =
  172. "Duration of processing operation.";
  173. static constexpr const char *unitMetricMessagingProcessDuration = "s";
  174. static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  175. CreateSyncInt64MetricMessagingProcessDuration(metrics::Meter *meter)
  176. {
  177. return meter->CreateUInt64Histogram(kMetricMessagingProcessDuration,
  178. descrMetricMessagingProcessDuration,
  179. unitMetricMessagingProcessDuration);
  180. }
  181. static inline nostd::unique_ptr<metrics::Histogram<double>>
  182. CreateSyncDoubleMetricMessagingProcessDuration(metrics::Meter *meter)
  183. {
  184. return meter->CreateDoubleHistogram(kMetricMessagingProcessDuration,
  185. descrMetricMessagingProcessDuration,
  186. unitMetricMessagingProcessDuration);
  187. }
  188. /**
  189. Deprecated. Use @code messaging.client.consumed.messages @endcode instead.
  190. @deprecated
  191. {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed",
  192. "renamed_to": "messaging.client.consumed.messages"} <p> counter
  193. */
  194. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingProcessMessages =
  195. "messaging.process.messages";
  196. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingProcessMessages =
  197. "Deprecated. Use `messaging.client.consumed.messages` instead.";
  198. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingProcessMessages =
  199. "{message}";
  200. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  201. CreateSyncInt64MetricMessagingProcessMessages(metrics::Meter *meter)
  202. {
  203. return meter->CreateUInt64Counter(kMetricMessagingProcessMessages,
  204. descrMetricMessagingProcessMessages,
  205. unitMetricMessagingProcessMessages);
  206. }
  207. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  208. CreateSyncDoubleMetricMessagingProcessMessages(metrics::Meter *meter)
  209. {
  210. return meter->CreateDoubleCounter(kMetricMessagingProcessMessages,
  211. descrMetricMessagingProcessMessages,
  212. unitMetricMessagingProcessMessages);
  213. }
  214. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  215. CreateAsyncInt64MetricMessagingProcessMessages(metrics::Meter *meter)
  216. {
  217. return meter->CreateInt64ObservableCounter(kMetricMessagingProcessMessages,
  218. descrMetricMessagingProcessMessages,
  219. unitMetricMessagingProcessMessages);
  220. }
  221. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  222. CreateAsyncDoubleMetricMessagingProcessMessages(metrics::Meter *meter)
  223. {
  224. return meter->CreateDoubleObservableCounter(kMetricMessagingProcessMessages,
  225. descrMetricMessagingProcessMessages,
  226. unitMetricMessagingProcessMessages);
  227. }
  228. /**
  229. Deprecated. Use @code messaging.client.operation.duration @endcode instead.
  230. @deprecated
  231. {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed",
  232. "renamed_to": "messaging.client.operation.duration"} <p> histogram
  233. */
  234. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishDuration =
  235. "messaging.publish.duration";
  236. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingPublishDuration =
  237. "Deprecated. Use `messaging.client.operation.duration` instead.";
  238. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingPublishDuration = "s";
  239. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  240. CreateSyncInt64MetricMessagingPublishDuration(metrics::Meter *meter)
  241. {
  242. return meter->CreateUInt64Histogram(kMetricMessagingPublishDuration,
  243. descrMetricMessagingPublishDuration,
  244. unitMetricMessagingPublishDuration);
  245. }
  246. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<double>>
  247. CreateSyncDoubleMetricMessagingPublishDuration(metrics::Meter *meter)
  248. {
  249. return meter->CreateDoubleHistogram(kMetricMessagingPublishDuration,
  250. descrMetricMessagingPublishDuration,
  251. unitMetricMessagingPublishDuration);
  252. }
  253. /**
  254. Deprecated. Use @code messaging.client.sent.messages @endcode instead.
  255. @deprecated
  256. {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed",
  257. "renamed_to": "messaging.client.sent.messages"} <p> counter
  258. */
  259. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishMessages =
  260. "messaging.publish.messages";
  261. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingPublishMessages =
  262. "Deprecated. Use `messaging.client.sent.messages` instead.";
  263. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingPublishMessages =
  264. "{message}";
  265. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  266. CreateSyncInt64MetricMessagingPublishMessages(metrics::Meter *meter)
  267. {
  268. return meter->CreateUInt64Counter(kMetricMessagingPublishMessages,
  269. descrMetricMessagingPublishMessages,
  270. unitMetricMessagingPublishMessages);
  271. }
  272. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  273. CreateSyncDoubleMetricMessagingPublishMessages(metrics::Meter *meter)
  274. {
  275. return meter->CreateDoubleCounter(kMetricMessagingPublishMessages,
  276. descrMetricMessagingPublishMessages,
  277. unitMetricMessagingPublishMessages);
  278. }
  279. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  280. CreateAsyncInt64MetricMessagingPublishMessages(metrics::Meter *meter)
  281. {
  282. return meter->CreateInt64ObservableCounter(kMetricMessagingPublishMessages,
  283. descrMetricMessagingPublishMessages,
  284. unitMetricMessagingPublishMessages);
  285. }
  286. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  287. CreateAsyncDoubleMetricMessagingPublishMessages(metrics::Meter *meter)
  288. {
  289. return meter->CreateDoubleObservableCounter(kMetricMessagingPublishMessages,
  290. descrMetricMessagingPublishMessages,
  291. unitMetricMessagingPublishMessages);
  292. }
  293. /**
  294. Deprecated. Use @code messaging.client.operation.duration @endcode instead.
  295. @deprecated
  296. {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed",
  297. "renamed_to": "messaging.client.operation.duration"} <p> histogram
  298. */
  299. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveDuration =
  300. "messaging.receive.duration";
  301. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingReceiveDuration =
  302. "Deprecated. Use `messaging.client.operation.duration` instead.";
  303. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingReceiveDuration = "s";
  304. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<uint64_t>>
  305. CreateSyncInt64MetricMessagingReceiveDuration(metrics::Meter *meter)
  306. {
  307. return meter->CreateUInt64Histogram(kMetricMessagingReceiveDuration,
  308. descrMetricMessagingReceiveDuration,
  309. unitMetricMessagingReceiveDuration);
  310. }
  311. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Histogram<double>>
  312. CreateSyncDoubleMetricMessagingReceiveDuration(metrics::Meter *meter)
  313. {
  314. return meter->CreateDoubleHistogram(kMetricMessagingReceiveDuration,
  315. descrMetricMessagingReceiveDuration,
  316. unitMetricMessagingReceiveDuration);
  317. }
  318. /**
  319. Deprecated. Use @code messaging.client.consumed.messages @endcode instead.
  320. @deprecated
  321. {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed",
  322. "renamed_to": "messaging.client.consumed.messages"} <p> counter
  323. */
  324. OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveMessages =
  325. "messaging.receive.messages";
  326. OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricMessagingReceiveMessages =
  327. "Deprecated. Use `messaging.client.consumed.messages` instead.";
  328. OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricMessagingReceiveMessages =
  329. "{message}";
  330. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<uint64_t>>
  331. CreateSyncInt64MetricMessagingReceiveMessages(metrics::Meter *meter)
  332. {
  333. return meter->CreateUInt64Counter(kMetricMessagingReceiveMessages,
  334. descrMetricMessagingReceiveMessages,
  335. unitMetricMessagingReceiveMessages);
  336. }
  337. OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr<metrics::Counter<double>>
  338. CreateSyncDoubleMetricMessagingReceiveMessages(metrics::Meter *meter)
  339. {
  340. return meter->CreateDoubleCounter(kMetricMessagingReceiveMessages,
  341. descrMetricMessagingReceiveMessages,
  342. unitMetricMessagingReceiveMessages);
  343. }
  344. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  345. CreateAsyncInt64MetricMessagingReceiveMessages(metrics::Meter *meter)
  346. {
  347. return meter->CreateInt64ObservableCounter(kMetricMessagingReceiveMessages,
  348. descrMetricMessagingReceiveMessages,
  349. unitMetricMessagingReceiveMessages);
  350. }
  351. OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr<metrics::ObservableInstrument>
  352. CreateAsyncDoubleMetricMessagingReceiveMessages(metrics::Meter *meter)
  353. {
  354. return meter->CreateDoubleObservableCounter(kMetricMessagingReceiveMessages,
  355. descrMetricMessagingReceiveMessages,
  356. unitMetricMessagingReceiveMessages);
  357. }
  358. } // namespace messaging
  359. } // namespace semconv
  360. OPENTELEMETRY_END_NAMESPACE