vcs_metrics.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  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 vcs
  17. {
  18. /**
  19. * The number of changes (pull requests/merge requests/changelists) in a repository, categorized by
  20. * their state (e.g. open or merged) <p> updowncounter
  21. */
  22. static constexpr const char *kMetricVcsChangeCount = "vcs.change.count";
  23. static constexpr const char *descrMetricVcsChangeCount =
  24. "The number of changes (pull requests/merge requests/changelists) in a repository, categorized "
  25. "by their state (e.g. open or merged)";
  26. static constexpr const char *unitMetricVcsChangeCount = "{change}";
  27. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  28. CreateSyncInt64MetricVcsChangeCount(metrics::Meter *meter)
  29. {
  30. return meter->CreateInt64UpDownCounter(kMetricVcsChangeCount, descrMetricVcsChangeCount,
  31. unitMetricVcsChangeCount);
  32. }
  33. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  34. CreateSyncDoubleMetricVcsChangeCount(metrics::Meter *meter)
  35. {
  36. return meter->CreateDoubleUpDownCounter(kMetricVcsChangeCount, descrMetricVcsChangeCount,
  37. unitMetricVcsChangeCount);
  38. }
  39. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricVcsChangeCount(
  40. metrics::Meter *meter)
  41. {
  42. return meter->CreateInt64ObservableUpDownCounter(kMetricVcsChangeCount, descrMetricVcsChangeCount,
  43. unitMetricVcsChangeCount);
  44. }
  45. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  46. CreateAsyncDoubleMetricVcsChangeCount(metrics::Meter *meter)
  47. {
  48. return meter->CreateDoubleObservableUpDownCounter(
  49. kMetricVcsChangeCount, descrMetricVcsChangeCount, unitMetricVcsChangeCount);
  50. }
  51. /**
  52. * The time duration a change (pull request/merge request/changelist) has been in a given state.
  53. * <p>
  54. * gauge
  55. */
  56. static constexpr const char *kMetricVcsChangeDuration = "vcs.change.duration";
  57. static constexpr const char *descrMetricVcsChangeDuration =
  58. "The time duration a change (pull request/merge request/changelist) has been in a given state.";
  59. static constexpr const char *unitMetricVcsChangeDuration = "s";
  60. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  61. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsChangeDuration(
  62. metrics::Meter *meter)
  63. {
  64. return meter->CreateInt64Gauge(kMetricVcsChangeDuration, descrMetricVcsChangeDuration,
  65. unitMetricVcsChangeDuration);
  66. }
  67. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsChangeDuration(
  68. metrics::Meter *meter)
  69. {
  70. return meter->CreateDoubleGauge(kMetricVcsChangeDuration, descrMetricVcsChangeDuration,
  71. unitMetricVcsChangeDuration);
  72. }
  73. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  74. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  75. CreateAsyncInt64MetricVcsChangeDuration(metrics::Meter *meter)
  76. {
  77. return meter->CreateInt64ObservableGauge(kMetricVcsChangeDuration, descrMetricVcsChangeDuration,
  78. unitMetricVcsChangeDuration);
  79. }
  80. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  81. CreateAsyncDoubleMetricVcsChangeDuration(metrics::Meter *meter)
  82. {
  83. return meter->CreateDoubleObservableGauge(kMetricVcsChangeDuration, descrMetricVcsChangeDuration,
  84. unitMetricVcsChangeDuration);
  85. }
  86. /**
  87. * The amount of time since its creation it took a change (pull request/merge request/changelist) to
  88. * get the first approval. <p> gauge
  89. */
  90. static constexpr const char *kMetricVcsChangeTimeToApproval = "vcs.change.time_to_approval";
  91. static constexpr const char *descrMetricVcsChangeTimeToApproval =
  92. "The amount of time since its creation it took a change (pull request/merge "
  93. "request/changelist) to get the first approval.";
  94. static constexpr const char *unitMetricVcsChangeTimeToApproval = "s";
  95. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  96. static inline nostd::unique_ptr<metrics::Gauge<int64_t>>
  97. CreateSyncInt64MetricVcsChangeTimeToApproval(metrics::Meter *meter)
  98. {
  99. return meter->CreateInt64Gauge(kMetricVcsChangeTimeToApproval, descrMetricVcsChangeTimeToApproval,
  100. unitMetricVcsChangeTimeToApproval);
  101. }
  102. static inline nostd::unique_ptr<metrics::Gauge<double>>
  103. CreateSyncDoubleMetricVcsChangeTimeToApproval(metrics::Meter *meter)
  104. {
  105. return meter->CreateDoubleGauge(kMetricVcsChangeTimeToApproval,
  106. descrMetricVcsChangeTimeToApproval,
  107. unitMetricVcsChangeTimeToApproval);
  108. }
  109. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  110. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  111. CreateAsyncInt64MetricVcsChangeTimeToApproval(metrics::Meter *meter)
  112. {
  113. return meter->CreateInt64ObservableGauge(kMetricVcsChangeTimeToApproval,
  114. descrMetricVcsChangeTimeToApproval,
  115. unitMetricVcsChangeTimeToApproval);
  116. }
  117. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  118. CreateAsyncDoubleMetricVcsChangeTimeToApproval(metrics::Meter *meter)
  119. {
  120. return meter->CreateDoubleObservableGauge(kMetricVcsChangeTimeToApproval,
  121. descrMetricVcsChangeTimeToApproval,
  122. unitMetricVcsChangeTimeToApproval);
  123. }
  124. /**
  125. * The amount of time since its creation it took a change (pull request/merge request/changelist) to
  126. * get merged into the target(base) ref. <p> gauge
  127. */
  128. static constexpr const char *kMetricVcsChangeTimeToMerge = "vcs.change.time_to_merge";
  129. static constexpr const char *descrMetricVcsChangeTimeToMerge =
  130. "The amount of time since its creation it took a change (pull request/merge "
  131. "request/changelist) to get merged into the target(base) ref.";
  132. static constexpr const char *unitMetricVcsChangeTimeToMerge = "s";
  133. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  134. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsChangeTimeToMerge(
  135. metrics::Meter *meter)
  136. {
  137. return meter->CreateInt64Gauge(kMetricVcsChangeTimeToMerge, descrMetricVcsChangeTimeToMerge,
  138. unitMetricVcsChangeTimeToMerge);
  139. }
  140. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsChangeTimeToMerge(
  141. metrics::Meter *meter)
  142. {
  143. return meter->CreateDoubleGauge(kMetricVcsChangeTimeToMerge, descrMetricVcsChangeTimeToMerge,
  144. unitMetricVcsChangeTimeToMerge);
  145. }
  146. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  147. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  148. CreateAsyncInt64MetricVcsChangeTimeToMerge(metrics::Meter *meter)
  149. {
  150. return meter->CreateInt64ObservableGauge(
  151. kMetricVcsChangeTimeToMerge, descrMetricVcsChangeTimeToMerge, unitMetricVcsChangeTimeToMerge);
  152. }
  153. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  154. CreateAsyncDoubleMetricVcsChangeTimeToMerge(metrics::Meter *meter)
  155. {
  156. return meter->CreateDoubleObservableGauge(
  157. kMetricVcsChangeTimeToMerge, descrMetricVcsChangeTimeToMerge, unitMetricVcsChangeTimeToMerge);
  158. }
  159. /**
  160. * The number of unique contributors to a repository
  161. * <p>
  162. * gauge
  163. */
  164. static constexpr const char *kMetricVcsContributorCount = "vcs.contributor.count";
  165. static constexpr const char *descrMetricVcsContributorCount =
  166. "The number of unique contributors to a repository";
  167. static constexpr const char *unitMetricVcsContributorCount = "{contributor}";
  168. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  169. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsContributorCount(
  170. metrics::Meter *meter)
  171. {
  172. return meter->CreateInt64Gauge(kMetricVcsContributorCount, descrMetricVcsContributorCount,
  173. unitMetricVcsContributorCount);
  174. }
  175. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsContributorCount(
  176. metrics::Meter *meter)
  177. {
  178. return meter->CreateDoubleGauge(kMetricVcsContributorCount, descrMetricVcsContributorCount,
  179. unitMetricVcsContributorCount);
  180. }
  181. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  182. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  183. CreateAsyncInt64MetricVcsContributorCount(metrics::Meter *meter)
  184. {
  185. return meter->CreateInt64ObservableGauge(
  186. kMetricVcsContributorCount, descrMetricVcsContributorCount, unitMetricVcsContributorCount);
  187. }
  188. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  189. CreateAsyncDoubleMetricVcsContributorCount(metrics::Meter *meter)
  190. {
  191. return meter->CreateDoubleObservableGauge(
  192. kMetricVcsContributorCount, descrMetricVcsContributorCount, unitMetricVcsContributorCount);
  193. }
  194. /**
  195. * The number of refs of type branch or tag in a repository.
  196. * <p>
  197. * updowncounter
  198. */
  199. static constexpr const char *kMetricVcsRefCount = "vcs.ref.count";
  200. static constexpr const char *descrMetricVcsRefCount =
  201. "The number of refs of type branch or tag in a repository.";
  202. static constexpr const char *unitMetricVcsRefCount = "{ref}";
  203. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>> CreateSyncInt64MetricVcsRefCount(
  204. metrics::Meter *meter)
  205. {
  206. return meter->CreateInt64UpDownCounter(kMetricVcsRefCount, descrMetricVcsRefCount,
  207. unitMetricVcsRefCount);
  208. }
  209. static inline nostd::unique_ptr<metrics::UpDownCounter<double>> CreateSyncDoubleMetricVcsRefCount(
  210. metrics::Meter *meter)
  211. {
  212. return meter->CreateDoubleUpDownCounter(kMetricVcsRefCount, descrMetricVcsRefCount,
  213. unitMetricVcsRefCount);
  214. }
  215. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricVcsRefCount(
  216. metrics::Meter *meter)
  217. {
  218. return meter->CreateInt64ObservableUpDownCounter(kMetricVcsRefCount, descrMetricVcsRefCount,
  219. unitMetricVcsRefCount);
  220. }
  221. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricVcsRefCount(
  222. metrics::Meter *meter)
  223. {
  224. return meter->CreateDoubleObservableUpDownCounter(kMetricVcsRefCount, descrMetricVcsRefCount,
  225. unitMetricVcsRefCount);
  226. }
  227. /**
  228. * The number of lines added/removed in a ref (branch) relative to the ref from the @code
  229. * vcs.ref.base.name @endcode attribute. <p> This metric should be reported for each @code
  230. * vcs.line_change.type @endcode value. For example if a ref added 3 lines and removed 2 lines,
  231. * instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers).
  232. * If number of lines added/removed should be calculated from the start of time, then @code
  233. * vcs.ref.base.name @endcode SHOULD be set to an empty string. <p> gauge
  234. */
  235. static constexpr const char *kMetricVcsRefLinesDelta = "vcs.ref.lines_delta";
  236. static constexpr const char *descrMetricVcsRefLinesDelta =
  237. "The number of lines added/removed in a ref (branch) relative to the ref from the "
  238. "`vcs.ref.base.name` attribute.";
  239. static constexpr const char *unitMetricVcsRefLinesDelta = "{line}";
  240. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  241. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsRefLinesDelta(
  242. metrics::Meter *meter)
  243. {
  244. return meter->CreateInt64Gauge(kMetricVcsRefLinesDelta, descrMetricVcsRefLinesDelta,
  245. unitMetricVcsRefLinesDelta);
  246. }
  247. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsRefLinesDelta(
  248. metrics::Meter *meter)
  249. {
  250. return meter->CreateDoubleGauge(kMetricVcsRefLinesDelta, descrMetricVcsRefLinesDelta,
  251. unitMetricVcsRefLinesDelta);
  252. }
  253. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  254. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  255. CreateAsyncInt64MetricVcsRefLinesDelta(metrics::Meter *meter)
  256. {
  257. return meter->CreateInt64ObservableGauge(kMetricVcsRefLinesDelta, descrMetricVcsRefLinesDelta,
  258. unitMetricVcsRefLinesDelta);
  259. }
  260. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  261. CreateAsyncDoubleMetricVcsRefLinesDelta(metrics::Meter *meter)
  262. {
  263. return meter->CreateDoubleObservableGauge(kMetricVcsRefLinesDelta, descrMetricVcsRefLinesDelta,
  264. unitMetricVcsRefLinesDelta);
  265. }
  266. /**
  267. * The number of revisions (commits) a ref (branch) is ahead/behind the branch from the @code
  268. * vcs.ref.base.name @endcode attribute <p> This metric should be reported for each @code
  269. * vcs.revision_delta.direction @endcode value. For example if branch @code a @endcode is 3 commits
  270. * behind and 2 commits ahead of @code trunk @endcode, instrumentation SHOULD report two
  271. * measurements: 3 and 2 (both positive numbers) and @code vcs.ref.base.name @endcode is set to
  272. * @code trunk @endcode. <p> gauge
  273. */
  274. static constexpr const char *kMetricVcsRefRevisionsDelta = "vcs.ref.revisions_delta";
  275. static constexpr const char *descrMetricVcsRefRevisionsDelta =
  276. "The number of revisions (commits) a ref (branch) is ahead/behind the branch from the "
  277. "`vcs.ref.base.name` attribute";
  278. static constexpr const char *unitMetricVcsRefRevisionsDelta = "{revision}";
  279. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  280. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsRefRevisionsDelta(
  281. metrics::Meter *meter)
  282. {
  283. return meter->CreateInt64Gauge(kMetricVcsRefRevisionsDelta, descrMetricVcsRefRevisionsDelta,
  284. unitMetricVcsRefRevisionsDelta);
  285. }
  286. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsRefRevisionsDelta(
  287. metrics::Meter *meter)
  288. {
  289. return meter->CreateDoubleGauge(kMetricVcsRefRevisionsDelta, descrMetricVcsRefRevisionsDelta,
  290. unitMetricVcsRefRevisionsDelta);
  291. }
  292. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  293. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  294. CreateAsyncInt64MetricVcsRefRevisionsDelta(metrics::Meter *meter)
  295. {
  296. return meter->CreateInt64ObservableGauge(
  297. kMetricVcsRefRevisionsDelta, descrMetricVcsRefRevisionsDelta, unitMetricVcsRefRevisionsDelta);
  298. }
  299. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  300. CreateAsyncDoubleMetricVcsRefRevisionsDelta(metrics::Meter *meter)
  301. {
  302. return meter->CreateDoubleObservableGauge(
  303. kMetricVcsRefRevisionsDelta, descrMetricVcsRefRevisionsDelta, unitMetricVcsRefRevisionsDelta);
  304. }
  305. /**
  306. * Time a ref (branch) created from the default branch (trunk) has existed. The @code ref.type
  307. * @endcode attribute will always be @code branch @endcode <p> gauge
  308. */
  309. static constexpr const char *kMetricVcsRefTime = "vcs.ref.time";
  310. static constexpr const char *descrMetricVcsRefTime =
  311. "Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` "
  312. "attribute will always be `branch`";
  313. static constexpr const char *unitMetricVcsRefTime = "s";
  314. #if OPENTELEMETRY_ABI_VERSION_NO >= 2
  315. static inline nostd::unique_ptr<metrics::Gauge<int64_t>> CreateSyncInt64MetricVcsRefTime(
  316. metrics::Meter *meter)
  317. {
  318. return meter->CreateInt64Gauge(kMetricVcsRefTime, descrMetricVcsRefTime, unitMetricVcsRefTime);
  319. }
  320. static inline nostd::unique_ptr<metrics::Gauge<double>> CreateSyncDoubleMetricVcsRefTime(
  321. metrics::Meter *meter)
  322. {
  323. return meter->CreateDoubleGauge(kMetricVcsRefTime, descrMetricVcsRefTime, unitMetricVcsRefTime);
  324. }
  325. #endif /* OPENTELEMETRY_ABI_VERSION_NO */
  326. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncInt64MetricVcsRefTime(
  327. metrics::Meter *meter)
  328. {
  329. return meter->CreateInt64ObservableGauge(kMetricVcsRefTime, descrMetricVcsRefTime,
  330. unitMetricVcsRefTime);
  331. }
  332. static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDoubleMetricVcsRefTime(
  333. metrics::Meter *meter)
  334. {
  335. return meter->CreateDoubleObservableGauge(kMetricVcsRefTime, descrMetricVcsRefTime,
  336. unitMetricVcsRefTime);
  337. }
  338. /**
  339. * The number of repositories in an organization.
  340. * <p>
  341. * updowncounter
  342. */
  343. static constexpr const char *kMetricVcsRepositoryCount = "vcs.repository.count";
  344. static constexpr const char *descrMetricVcsRepositoryCount =
  345. "The number of repositories in an organization.";
  346. static constexpr const char *unitMetricVcsRepositoryCount = "{repository}";
  347. static inline nostd::unique_ptr<metrics::UpDownCounter<int64_t>>
  348. CreateSyncInt64MetricVcsRepositoryCount(metrics::Meter *meter)
  349. {
  350. return meter->CreateInt64UpDownCounter(kMetricVcsRepositoryCount, descrMetricVcsRepositoryCount,
  351. unitMetricVcsRepositoryCount);
  352. }
  353. static inline nostd::unique_ptr<metrics::UpDownCounter<double>>
  354. CreateSyncDoubleMetricVcsRepositoryCount(metrics::Meter *meter)
  355. {
  356. return meter->CreateDoubleUpDownCounter(kMetricVcsRepositoryCount, descrMetricVcsRepositoryCount,
  357. unitMetricVcsRepositoryCount);
  358. }
  359. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  360. CreateAsyncInt64MetricVcsRepositoryCount(metrics::Meter *meter)
  361. {
  362. return meter->CreateInt64ObservableUpDownCounter(
  363. kMetricVcsRepositoryCount, descrMetricVcsRepositoryCount, unitMetricVcsRepositoryCount);
  364. }
  365. static inline nostd::shared_ptr<metrics::ObservableInstrument>
  366. CreateAsyncDoubleMetricVcsRepositoryCount(metrics::Meter *meter)
  367. {
  368. return meter->CreateDoubleObservableUpDownCounter(
  369. kMetricVcsRepositoryCount, descrMetricVcsRepositoryCount, unitMetricVcsRepositoryCount);
  370. }
  371. } // namespace vcs
  372. } // namespace semconv
  373. OPENTELEMETRY_END_NAMESPACE