@codefresh-io/cf-telemetry 2.0.0-alpha.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +14 -6
  2. package/dist/global-config.d.ts +5 -0
  3. package/dist/global-config.js +10 -0
  4. package/dist/global-config.js.map +1 -0
  5. package/dist/init.d.mts +1 -0
  6. package/dist/{cjs/index.js → init.js} +24 -18
  7. package/dist/init.js.map +1 -0
  8. package/dist/init.mjs +2 -0
  9. package/dist/init.mjs.map +1 -0
  10. package/dist/logs/config.d.ts +2 -0
  11. package/dist/logs/config.js +35 -0
  12. package/dist/logs/config.js.map +1 -0
  13. package/dist/logs/express/http-logger-middleware.d.ts +10 -0
  14. package/dist/logs/express/http-logger-middleware.js +30 -0
  15. package/dist/logs/express/http-logger-middleware.js.map +1 -0
  16. package/dist/logs/express/index.d.ts +1 -0
  17. package/dist/logs/express/index.js +6 -0
  18. package/dist/logs/express/index.js.map +1 -0
  19. package/dist/logs/express/public.d.mts +1 -0
  20. package/dist/logs/express/public.d.ts +1 -0
  21. package/dist/logs/express/public.js +7 -0
  22. package/dist/logs/express/public.js.map +1 -0
  23. package/dist/logs/express/public.mjs +3 -0
  24. package/dist/logs/express/public.mjs.map +1 -0
  25. package/dist/logs/index.js.map +1 -0
  26. package/dist/{cjs/logs → logs}/logger.js +27 -5
  27. package/dist/logs/logger.js.map +1 -0
  28. package/dist/logs/metadata-storage.js.map +1 -0
  29. package/dist/logs/nest/index.d.ts +2 -0
  30. package/dist/logs/nest/index.js +8 -0
  31. package/dist/logs/nest/index.js.map +1 -0
  32. package/dist/logs/nest/logger-module.d.ts +4 -0
  33. package/dist/logs/nest/logger-module.js +69 -0
  34. package/dist/logs/nest/logger-module.js.map +1 -0
  35. package/dist/logs/nest/logger.d.ts +4 -0
  36. package/dist/logs/nest/logger.js +69 -0
  37. package/dist/logs/nest/logger.js.map +1 -0
  38. package/dist/logs/nest/public.d.mts +1 -0
  39. package/dist/logs/nest/public.d.ts +1 -0
  40. package/dist/logs/nest/public.js +8 -0
  41. package/dist/logs/nest/public.js.map +1 -0
  42. package/dist/logs/nest/public.mjs +3 -0
  43. package/dist/logs/nest/public.mjs.map +1 -0
  44. package/dist/logs/public.d.mts +1 -0
  45. package/dist/{cjs/logs → logs}/public.js +1 -0
  46. package/dist/logs/public.js.map +1 -0
  47. package/dist/logs/public.mjs +3 -0
  48. package/dist/logs/public.mjs.map +1 -0
  49. package/dist/logs/run-in-context.js.map +1 -0
  50. package/dist/{esm/logs → logs}/types.d.ts +9 -1
  51. package/dist/{cjs/logs → logs}/types.js +3 -1
  52. package/dist/logs/types.js.map +1 -0
  53. package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.js +2 -1
  54. package/dist/metrics/mongodb/monitor-mongodb-client.js.map +1 -0
  55. package/dist/metrics/mongodb/public.d.mts +1 -0
  56. package/dist/metrics/mongodb/public.d.ts +1 -0
  57. package/dist/{cjs/metrics/mongodb/index.js → metrics/mongodb/public.js} +2 -1
  58. package/dist/metrics/mongodb/public.js.map +1 -0
  59. package/dist/metrics/mongodb/public.mjs +3 -0
  60. package/dist/metrics/mongodb/public.mjs.map +1 -0
  61. package/dist/{cjs/metrics → metrics}/prometheus/client.js +3 -6
  62. package/dist/metrics/prometheus/client.js.map +1 -0
  63. package/dist/metrics/prometheus/config.d.ts +10 -0
  64. package/dist/metrics/prometheus/config.js +29 -0
  65. package/dist/metrics/prometheus/config.js.map +1 -0
  66. package/dist/metrics/prometheus/helpers.d.ts +5 -0
  67. package/dist/metrics/prometheus/helpers.js +16 -0
  68. package/dist/metrics/prometheus/helpers.js.map +1 -0
  69. package/dist/{cjs/metrics/prometheus/public.d.ts → metrics/prometheus/index.d.ts} +1 -0
  70. package/dist/{cjs/metrics → metrics}/prometheus/index.js +2 -2
  71. package/dist/metrics/prometheus/index.js.map +1 -0
  72. package/dist/{cjs/metrics/prometheus/init-prometheus.js → metrics/prometheus/init.js} +12 -2
  73. package/dist/metrics/prometheus/init.js.map +1 -0
  74. package/dist/metrics/prometheus/metrics.d.ts +24 -0
  75. package/dist/metrics/prometheus/metrics.js.map +1 -0
  76. package/dist/metrics/prometheus/public.d.mts +1 -0
  77. package/dist/metrics/prometheus/public.d.ts +5 -0
  78. package/dist/{cjs/metrics → metrics}/prometheus/public.js +12 -3
  79. package/dist/metrics/prometheus/public.js.map +1 -0
  80. package/dist/metrics/prometheus/public.mjs +3 -0
  81. package/dist/metrics/prometheus/public.mjs.map +1 -0
  82. package/dist/otel/config.js.map +1 -0
  83. package/dist/{cjs/otel → otel}/index.d.ts +1 -1
  84. package/dist/{cjs/otel → otel}/index.js +1 -1
  85. package/dist/otel/index.js.map +1 -0
  86. package/dist/otel/public.d.mts +1 -0
  87. package/dist/otel/public.d.ts +1 -0
  88. package/dist/otel/public.js +19 -0
  89. package/dist/otel/public.js.map +1 -0
  90. package/dist/otel/public.mjs +3 -0
  91. package/dist/otel/public.mjs.map +1 -0
  92. package/dist/{cjs/otel → otel}/sdk.js +10 -18
  93. package/dist/otel/sdk.js.map +1 -0
  94. package/dist/{cjs/profiles → profiles}/config.d.ts +2 -1
  95. package/dist/profiles/config.js +24 -0
  96. package/dist/profiles/config.js.map +1 -0
  97. package/dist/{esm/otel → profiles}/index.d.ts +1 -1
  98. package/dist/profiles/index.js +39 -0
  99. package/dist/profiles/index.js.map +1 -0
  100. package/package.json +33 -26
  101. package/dist/cjs/global-config.d.ts +0 -4
  102. package/dist/cjs/global-config.js +0 -8
  103. package/dist/cjs/global-config.js.map +0 -1
  104. package/dist/cjs/index.d.ts +0 -7
  105. package/dist/cjs/index.js.map +0 -1
  106. package/dist/cjs/init.mjs +0 -5
  107. package/dist/cjs/init.mjs.map +0 -1
  108. package/dist/cjs/logs/config.d.ts +0 -8
  109. package/dist/cjs/logs/config.js +0 -16
  110. package/dist/cjs/logs/config.js.map +0 -1
  111. package/dist/cjs/logs/index.js.map +0 -1
  112. package/dist/cjs/logs/logger.js.map +0 -1
  113. package/dist/cjs/logs/metadata-storage.js.map +0 -1
  114. package/dist/cjs/logs/public.js.map +0 -1
  115. package/dist/cjs/logs/run-in-context.js.map +0 -1
  116. package/dist/cjs/logs/types.d.ts +0 -81
  117. package/dist/cjs/logs/types.js.map +0 -1
  118. package/dist/cjs/metrics/mongodb/index.d.ts +0 -1
  119. package/dist/cjs/metrics/mongodb/index.js.map +0 -1
  120. package/dist/cjs/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
  121. package/dist/cjs/metrics/mongodb/public.d.ts +0 -1
  122. package/dist/cjs/metrics/mongodb/public.js +0 -6
  123. package/dist/cjs/metrics/mongodb/public.js.map +0 -1
  124. package/dist/cjs/metrics/prometheus/client.js.map +0 -1
  125. package/dist/cjs/metrics/prometheus/config.d.ts +0 -7
  126. package/dist/cjs/metrics/prometheus/config.js +0 -11
  127. package/dist/cjs/metrics/prometheus/config.js.map +0 -1
  128. package/dist/cjs/metrics/prometheus/index.d.ts +0 -3
  129. package/dist/cjs/metrics/prometheus/index.js.map +0 -1
  130. package/dist/cjs/metrics/prometheus/init-prometheus.js.map +0 -1
  131. package/dist/cjs/metrics/prometheus/metrics.d.ts +0 -22
  132. package/dist/cjs/metrics/prometheus/metrics.js.map +0 -1
  133. package/dist/cjs/metrics/prometheus/public.js.map +0 -1
  134. package/dist/cjs/otel/config.js.map +0 -1
  135. package/dist/cjs/otel/index.js.map +0 -1
  136. package/dist/cjs/otel/public.d.ts +0 -1
  137. package/dist/cjs/otel/public.js +0 -38
  138. package/dist/cjs/otel/public.js.map +0 -1
  139. package/dist/cjs/otel/sdk.js.map +0 -1
  140. package/dist/cjs/profiles/config.js +0 -18
  141. package/dist/cjs/profiles/config.js.map +0 -1
  142. package/dist/cjs/profiles/index.d.ts +0 -2
  143. package/dist/cjs/profiles/index.js +0 -22
  144. package/dist/cjs/profiles/index.js.map +0 -1
  145. package/dist/esm/global-config.d.ts +0 -4
  146. package/dist/esm/global-config.js +0 -5
  147. package/dist/esm/global-config.js.map +0 -1
  148. package/dist/esm/index.d.ts +0 -7
  149. package/dist/esm/index.js +0 -38
  150. package/dist/esm/index.js.map +0 -1
  151. package/dist/esm/init.d.mts +0 -1
  152. package/dist/esm/init.mjs +0 -5
  153. package/dist/esm/init.mjs.map +0 -1
  154. package/dist/esm/logs/config.d.ts +0 -8
  155. package/dist/esm/logs/config.js +0 -13
  156. package/dist/esm/logs/config.js.map +0 -1
  157. package/dist/esm/logs/index.d.ts +0 -2
  158. package/dist/esm/logs/index.js +0 -3
  159. package/dist/esm/logs/index.js.map +0 -1
  160. package/dist/esm/logs/logger.d.ts +0 -61
  161. package/dist/esm/logs/logger.js +0 -90
  162. package/dist/esm/logs/logger.js.map +0 -1
  163. package/dist/esm/logs/metadata-storage.d.ts +0 -3
  164. package/dist/esm/logs/metadata-storage.js +0 -3
  165. package/dist/esm/logs/metadata-storage.js.map +0 -1
  166. package/dist/esm/logs/public.d.ts +0 -1
  167. package/dist/esm/logs/public.js +0 -2
  168. package/dist/esm/logs/public.js.map +0 -1
  169. package/dist/esm/logs/run-in-context.d.ts +0 -9
  170. package/dist/esm/logs/run-in-context.js +0 -17
  171. package/dist/esm/logs/run-in-context.js.map +0 -1
  172. package/dist/esm/logs/types.js +0 -6
  173. package/dist/esm/logs/types.js.map +0 -1
  174. package/dist/esm/metrics/mongodb/index.d.ts +0 -1
  175. package/dist/esm/metrics/mongodb/index.js +0 -2
  176. package/dist/esm/metrics/mongodb/index.js.map +0 -1
  177. package/dist/esm/metrics/mongodb/monitor-mongodb-client.d.ts +0 -13
  178. package/dist/esm/metrics/mongodb/monitor-mongodb-client.js +0 -47
  179. package/dist/esm/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
  180. package/dist/esm/metrics/mongodb/public.d.ts +0 -1
  181. package/dist/esm/metrics/mongodb/public.js +0 -2
  182. package/dist/esm/metrics/mongodb/public.js.map +0 -1
  183. package/dist/esm/metrics/prometheus/client.d.ts +0 -3
  184. package/dist/esm/metrics/prometheus/client.js +0 -11
  185. package/dist/esm/metrics/prometheus/client.js.map +0 -1
  186. package/dist/esm/metrics/prometheus/config.d.ts +0 -7
  187. package/dist/esm/metrics/prometheus/config.js +0 -8
  188. package/dist/esm/metrics/prometheus/config.js.map +0 -1
  189. package/dist/esm/metrics/prometheus/index.d.ts +0 -3
  190. package/dist/esm/metrics/prometheus/index.js +0 -4
  191. package/dist/esm/metrics/prometheus/index.js.map +0 -1
  192. package/dist/esm/metrics/prometheus/init-prometheus.d.ts +0 -2
  193. package/dist/esm/metrics/prometheus/init-prometheus.js +0 -32
  194. package/dist/esm/metrics/prometheus/init-prometheus.js.map +0 -1
  195. package/dist/esm/metrics/prometheus/metrics.d.ts +0 -22
  196. package/dist/esm/metrics/prometheus/metrics.js +0 -22
  197. package/dist/esm/metrics/prometheus/metrics.js.map +0 -1
  198. package/dist/esm/metrics/prometheus/public.d.ts +0 -2
  199. package/dist/esm/metrics/prometheus/public.js +0 -3
  200. package/dist/esm/metrics/prometheus/public.js.map +0 -1
  201. package/dist/esm/otel/config.d.ts +0 -3
  202. package/dist/esm/otel/config.js +0 -4
  203. package/dist/esm/otel/config.js.map +0 -1
  204. package/dist/esm/otel/index.js +0 -30
  205. package/dist/esm/otel/index.js.map +0 -1
  206. package/dist/esm/otel/public.d.ts +0 -1
  207. package/dist/esm/otel/public.js +0 -2
  208. package/dist/esm/otel/public.js.map +0 -1
  209. package/dist/esm/otel/sdk.d.ts +0 -2
  210. package/dist/esm/otel/sdk.js +0 -38
  211. package/dist/esm/otel/sdk.js.map +0 -1
  212. package/dist/esm/profiles/config.d.ts +0 -6
  213. package/dist/esm/profiles/config.js +0 -15
  214. package/dist/esm/profiles/config.js.map +0 -1
  215. package/dist/esm/profiles/index.d.ts +0 -2
  216. package/dist/esm/profiles/index.js +0 -15
  217. package/dist/esm/profiles/index.js.map +0 -1
  218. /package/dist/{cjs/init.d.mts → init.d.ts} +0 -0
  219. /package/dist/{cjs/logs → logs}/index.d.ts +0 -0
  220. /package/dist/{cjs/logs → logs}/index.js +0 -0
  221. /package/dist/{cjs/logs → logs}/logger.d.ts +0 -0
  222. /package/dist/{cjs/logs → logs}/metadata-storage.d.ts +0 -0
  223. /package/dist/{cjs/logs → logs}/metadata-storage.js +0 -0
  224. /package/dist/{cjs/logs → logs}/public.d.ts +0 -0
  225. /package/dist/{cjs/logs → logs}/run-in-context.d.ts +0 -0
  226. /package/dist/{cjs/logs → logs}/run-in-context.js +0 -0
  227. /package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.d.ts +0 -0
  228. /package/dist/{cjs/metrics → metrics}/prometheus/client.d.ts +0 -0
  229. /package/dist/{cjs/metrics/prometheus/init-prometheus.d.ts → metrics/prometheus/init.d.ts} +0 -0
  230. /package/dist/{cjs/metrics → metrics}/prometheus/metrics.js +0 -0
  231. /package/dist/{cjs/otel → otel}/config.d.ts +0 -0
  232. /package/dist/{cjs/otel → otel}/config.js +0 -0
  233. /package/dist/{cjs/otel → otel}/sdk.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":";;;AAEa,QAAA,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAGpD,QAAA,QAAQ,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAU,CAAC;AAQrE,CAAC;AAoBD,CAAC;AAQD,CAAC;AAWD,CAAC;AAsCD,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.monitorMongoDBClient = void 0;
4
4
  const mongodb_driver_prometheus_exporter_1 = require("@christiangalsterer/mongodb-driver-prometheus-exporter");
5
+ const global_config_1 = require("../../global-config");
5
6
  const logs_1 = require("../../logs");
6
7
  const prometheus_1 = require("../prometheus");
7
8
  const WarningCauses = {
@@ -27,7 +28,7 @@ const monitoredClientsByPool = new Map();
27
28
  * @param [connectionPool] Unique per application connection pool name, default is `"main"`. Required if you have multiple clients to monitor.
28
29
  */
29
30
  const monitorMongoDBClient = (client, connectionPool = 'main') => {
30
- const logger = new logs_1.Logger('monitoring:mongodb');
31
+ const logger = new logs_1.Logger(`${global_config_1.globalConfig.libLogScope}:mongodb`);
31
32
  logger.info(`Initializing MongoDB monitoring for connection pool: ${connectionPool}`);
32
33
  if (monitoredClients.has(client)) {
33
34
  instrumentationWarnings.inc({ cause: WarningCauses.AlreadyMonitored, connection_pool: connectionPool });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor-mongodb-client.js","sourceRoot":"","sources":["../../../src/metrics/mongodb/monitor-mongodb-client.ts"],"names":[],"mappings":";;;AAAA,+GAA8F;AAE9F,uDAAmD;AACnD,qCAAoC;AACpC,8CAAkD;AAElD,MAAM,aAAa,GAAG;IACpB,gBAAgB,EAAE,0BAA0B;IAC5C,sBAAsB,EAAE,2BAA2B;CAC3C,CAAC;AAEX,MAAM,uBAAuB,GAAG,IAAI,oBAAO,CAAC,OAAO,CAAC;IAClD,IAAI,EAAE,kDAAkD;IACxD,IAAI,EAAE,6DAA6D;IACnE,UAAU,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAe,CAAC;AACpD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEvE;;;;;;;;;;GAUG;AACI,MAAM,oBAAoB,GAAG,CAAC,MAAmB,EAAE,cAAc,GAAG,MAAM,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,IAAI,aAAM,CAAC,GAAG,4BAAY,CAAC,WAAW,UAAU,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,wDAAwD,cAAc,EAAE,CAAC,CAAC;IACtF,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,iEAAiE,cAAc,EAAE,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,MAAM,6BAA6B,GAAG,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5F,IAAI,6BAA6B,EAAE,CAAC;QAClC,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9G,MAAM,CAAC,IAAI,CAAC,4HAA4H,cAAc,GAAG,CAAC,CAAC;IAC7J,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,yDAAoB,EAClB,MAAM,EACN,qBAAQ,EACR;QACE,aAAa,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE;QAClD,MAAM;KACP,CACF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,uDAAuD,cAAc,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -0,0 +1 @@
1
+ export { monitorMongoDBClient, } from './monitor-mongodb-client';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ // Public API (CommonJS)
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.monitorMongoDBClient = void 0;
4
5
  var monitor_mongodb_client_1 = require("./monitor-mongodb-client");
5
6
  Object.defineProperty(exports, "monitorMongoDBClient", { enumerable: true, get: function () { return monitor_mongodb_client_1.monitorMongoDBClient; } });
6
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/metrics/mongodb/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;AAExB,mEAEkC;AADhC,8HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../../src/metrics/mongodb/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -7,12 +7,9 @@ exports.register = exports.client = void 0;
7
7
  const prom_client_1 = __importDefault(require("prom-client"));
8
8
  exports.client = prom_client_1.default;
9
9
  const config_1 = require("./config");
10
- const DEFAULT_LABELS = {};
11
10
  const register = prom_client_1.default.register;
12
11
  exports.register = register;
13
- register.setDefaultLabels(DEFAULT_LABELS);
14
- if (config_1.config.useOpenMetrics) {
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- (prom_client_1.default.register).setContentType(prom_client_1.default.Registry.OPENMETRICS_CONTENT_TYPE);
17
- }
12
+ register.setDefaultLabels(config_1.config.defaultLabels);
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ (prom_client_1.default.register).setContentType(config_1.config.contentType);
18
15
  //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/client.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAiC;AAS/B,iBATK,qBAAM,CASL;AARR,qCAAkC;AAElC,MAAM,QAAQ,GAAG,qBAAM,CAAC,QAAQ,CAAC;AAO/B,4BAAQ;AANV,QAAQ,CAAC,gBAAgB,CAAC,eAAM,CAAC,aAAa,CAAC,CAAC;AAChD,8DAA8D;AAC9D,CAAC,qBAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAM,CAAC,WAAkB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const config: {
2
+ readonly enabled: boolean;
3
+ readonly shouldCollectProcessMetrics: boolean;
4
+ readonly host: string;
5
+ readonly port: number;
6
+ readonly contentType: "text/plain; version=0.0.4; charset=utf-8" | "application/openmetrics-text; version=1.0.0; charset=utf-8";
7
+ readonly defaultLabels: {
8
+ readonly service_name: string;
9
+ };
10
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const prom_client_1 = require("prom-client");
5
+ const global_config_1 = require("../../global-config");
6
+ const getContentType = () => {
7
+ const ContentType = {
8
+ prometheus: prom_client_1.Registry.PROMETHEUS_CONTENT_TYPE,
9
+ openmetrics: prom_client_1.Registry.OPENMETRICS_CONTENT_TYPE,
10
+ };
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ const contentType = process.env['CF_TELEMETRY_PROMETHEUS_CONTENT_TYPE'] ?? 'openmetrics';
13
+ const knownTypes = Object.keys(ContentType);
14
+ if (!knownTypes.includes(contentType)) {
15
+ throw new Error(`Invalid value in CF_TELEMETRY_PROMETHEUS_CONTENT_TYPE: "${contentType}". Allowed values: "${knownTypes.join('|')}"`);
16
+ }
17
+ return ContentType[contentType];
18
+ };
19
+ exports.config = {
20
+ enabled: process.env['CF_TELEMETRY_PROMETHEUS_ENABLE'] === 'true',
21
+ shouldCollectProcessMetrics: process.env['CF_TELEMETRY_PROMETHEUS_ENABLE_PROCESS_METRICS'] === 'true',
22
+ host: process.env['CF_TELEMETRY_PROMETHEUS_HOST'] ?? '0.0.0.0',
23
+ port: Number.parseInt(process.env['CF_TELEMETRY_PROMETHEUS_PORT'] ?? '9100', 10),
24
+ contentType: getContentType(),
25
+ defaultLabels: {
26
+ service_name: global_config_1.globalConfig.serviceName,
27
+ },
28
+ };
29
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/config.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,uDAAmD;AAEnD,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,sBAAQ,CAAC,uBAAuB;QAC5C,WAAW,EAAE,sBAAQ,CAAC,wBAAwB;KACtC,CAAC;IACX,8DAA8D;IAC9D,MAAM,WAAW,GAA8B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAS,IAAI,aAAa,CAAC;IAC5H,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,WAAW,uBAAuB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxI,CAAC;IACD,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,KAAK,MAAM;IACjE,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,KAAK,MAAM;IACrG,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,SAAS;IAC9D,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC;IAChF,WAAW,EAAE,cAAc,EAAE;IAC7B,aAAa,EAAE;QACb,YAAY,EAAE,4BAAY,CAAC,WAAW;KACvC;CACO,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ExemplarLabels } from './metrics';
2
+ /**
3
+ * Get exemplar labels for Prometheus metrics with enabled exemplars.
4
+ */
5
+ export declare const getExemplarLabels: () => ExemplarLabels;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExemplarLabels = void 0;
4
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
5
+ /**
6
+ * Get exemplar labels for Prometheus metrics with enabled exemplars.
7
+ */
8
+ const getExemplarLabels = () => {
9
+ const { spanId, traceId } = sdk_node_1.api.trace.getActiveSpan()?.spanContext() ?? {};
10
+ return {
11
+ ...spanId && { span_id: spanId },
12
+ ...traceId && { trace_id: traceId },
13
+ };
14
+ };
15
+ exports.getExemplarLabels = getExemplarLabels;
16
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/helpers.ts"],"names":[],"mappings":";;;AAAA,sDAA8C;AAG9C;;GAEG;AACI,MAAM,iBAAiB,GAAG,GAAmB,EAAE;IACpD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3E,OAAO;QACL,GAAG,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QAChC,GAAG,OAAO,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;KACpC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B"}
@@ -1,2 +1,3 @@
1
1
  export { client, register } from './client';
2
+ export { init } from './init';
2
3
  export * as metrics from './metrics';
@@ -37,7 +37,7 @@ exports.metrics = exports.init = exports.register = exports.client = void 0;
37
37
  var client_1 = require("./client");
38
38
  Object.defineProperty(exports, "client", { enumerable: true, get: function () { return client_1.client; } });
39
39
  Object.defineProperty(exports, "register", { enumerable: true, get: function () { return client_1.register; } });
40
- var init_prometheus_1 = require("./init-prometheus");
41
- Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_prometheus_1.init; } });
40
+ var init_1 = require("./init");
41
+ Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
42
42
  exports.metrics = __importStar(require("./metrics"));
43
43
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA4C;AAAnC,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AACzB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qDAAqC"}
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.init = void 0;
7
7
  const fastify_1 = __importDefault(require("fastify"));
8
+ const global_config_1 = require("../../global-config");
8
9
  const client_1 = require("./client");
9
10
  const config_1 = require("./config");
11
+ const metrics_1 = require("./metrics");
10
12
  const init = async (logger) => {
11
13
  logger = logger.child('prometheus');
12
14
  try {
@@ -19,8 +21,16 @@ const init = async (logger) => {
19
21
  logger.debug('Prometheus configuration', config_1.config);
20
22
  if (config_1.config.shouldCollectProcessMetrics)
21
23
  client_1.client.collectDefaultMetrics();
24
+ new metrics_1.Gauge({
25
+ name: 'codefresh_service_info',
26
+ help: 'Service information',
27
+ labelNames: ['service_name', 'service_version'],
28
+ }).set({
29
+ service_name: global_config_1.globalConfig.serviceName,
30
+ service_version: global_config_1.globalConfig.serviceVersion,
31
+ }, 1);
22
32
  const metricsServer = (0, fastify_1.default)();
23
- metricsServer.get('/metrics', async (_request, reply) => {
33
+ metricsServer.get('/metrics', (_request, reply) => {
24
34
  reply.type(client_1.register.contentType);
25
35
  return client_1.register.metrics();
26
36
  });
@@ -36,4 +46,4 @@ const init = async (logger) => {
36
46
  }
37
47
  };
38
48
  exports.init = init;
39
- //# sourceMappingURL=init-prometheus.js.map
49
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/init.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,uDAAmD;AAEnD,qCAA4C;AAC5C,qCAAkC;AAClC,uCAAkC;AAE3B,MAAM,IAAI,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC1D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,eAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QAAA,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,eAAM,CAAC,CAAC;QAEjD,IAAI,eAAM,CAAC,2BAA2B;YAAE,eAAM,CAAC,qBAAqB,EAAE,CAAC;QACvE,IAAI,eAAK,CAAC;YACR,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAChD,CAAC,CAAC,GAAG,CAAC;YACL,YAAY,EAAE,4BAAY,CAAC,WAAW;YACtC,eAAe,EAAE,4BAAY,CAAC,cAAc;SAC7C,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,aAAa,GAAG,IAAA,iBAAO,GAAE,CAAC;QAChC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,IAAI,CAAC,iBAAQ,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,iBAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;YACzC,IAAI,EAAE,eAAM,CAAC,IAAI;YACjB,IAAI,EAAE,eAAM,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAnCW,QAAA,IAAI,QAmCf"}
@@ -0,0 +1,24 @@
1
+ import type { CounterConfiguration as CounterConfigurationOriginal, GaugeConfiguration as GaugeConfigurationOriginal, HistogramConfiguration as HistogramConfigurationOriginal, LabelValues, MetricConfiguration as MetricConfigurationOriginal, SummaryConfiguration as SummaryConfigurationOriginal } from 'prom-client';
2
+ import { Counter as CounterOriginal, Gauge as GaugeOriginal, Histogram as HistogramOriginal, Summary as SummaryOriginal } from 'prom-client';
3
+ export type ExemplarLabelName = 'span_id' | 'trace_id';
4
+ export type ExemplarLabels = LabelValues<ExemplarLabelName>;
5
+ export type MetricConfiguration<T extends string = string> = MetricConfigurationOriginal<T> & {
6
+ name: `codefresh_${string}`;
7
+ };
8
+ export type CounterConfiguration<T extends string = string> = CounterConfigurationOriginal<T> & MetricConfiguration<T>;
9
+ export declare class Counter<T extends string = string> extends CounterOriginal<T | ExemplarLabelName> {
10
+ constructor(config: CounterConfiguration<T>);
11
+ }
12
+ export type GaugeConfiguration<T extends string = string> = GaugeConfigurationOriginal<T> & MetricConfiguration<T>;
13
+ export declare class Gauge<T extends string = string> extends GaugeOriginal<T> {
14
+ constructor(config: GaugeConfiguration<T>);
15
+ }
16
+ export type HistogramConfiguration<T extends string = string> = HistogramConfigurationOriginal<T> & MetricConfiguration<T>;
17
+ export declare class Histogram<T extends string = string> extends HistogramOriginal<T | ExemplarLabelName> {
18
+ constructor(config: HistogramConfiguration<T>);
19
+ }
20
+ export type SummaryConfiguration<T extends string = string> = SummaryConfigurationOriginal<T> & MetricConfiguration<T>;
21
+ export declare class Summary<T extends string = string> extends SummaryOriginal<T> {
22
+ constructor(config: SummaryConfiguration<T>);
23
+ }
24
+ export type Metric<T extends string = string> = Counter<T> | Gauge<T> | Histogram<T> | Summary<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/metrics.ts"],"names":[],"mappings":";;;AAQA,6CAKqB;AAOrB,MAAa,OAAmC,SAAQ,qBAAsC;IAC5F,YAAY,MAA+B;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,0BAIC;AAGD,MAAa,KAAiC,SAAQ,mBAAgB;IACpE,YAAY,MAA6B;QACvC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,sBAIC;AAGD,MAAa,SAAqC,SAAQ,uBAAwC;IAChG,YAAY,MAAiC;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,8BAIC;AAGD,MAAa,OAAmC,SAAQ,qBAAkB;IACxE,YAAY,MAA+B;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,0BAIC"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -0,0 +1,5 @@
1
+ export * from 'prom-client';
2
+ export { register } from './client';
3
+ export { Counter, Gauge, Histogram, Summary, } from './metrics';
4
+ export type { CounterConfiguration, GaugeConfiguration, HistogramConfiguration, MetricConfiguration, Metric, SummaryConfiguration, } from './metrics';
5
+ export * as helpers from './helpers';
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // Public API (CommonJS)
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -15,6 +16,9 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
16
  }) : function(o, v) {
16
17
  o["default"] = v;
17
18
  });
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
18
22
  var __importStar = (this && this.__importStar) || (function () {
19
23
  var ownKeys = function(o) {
20
24
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -33,9 +37,14 @@ var __importStar = (this && this.__importStar) || (function () {
33
37
  };
34
38
  })();
35
39
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.metrics = exports.register = exports.client = void 0;
40
+ exports.helpers = exports.Summary = exports.Histogram = exports.Gauge = exports.Counter = exports.register = void 0;
41
+ __exportStar(require("prom-client"), exports);
37
42
  var client_1 = require("./client");
38
- Object.defineProperty(exports, "client", { enumerable: true, get: function () { return client_1.client; } });
39
43
  Object.defineProperty(exports, "register", { enumerable: true, get: function () { return client_1.register; } });
40
- exports.metrics = __importStar(require("./metrics"));
44
+ var metrics_1 = require("./metrics");
45
+ Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return metrics_1.Counter; } });
46
+ Object.defineProperty(exports, "Gauge", { enumerable: true, get: function () { return metrics_1.Gauge; } });
47
+ Object.defineProperty(exports, "Histogram", { enumerable: true, get: function () { return metrics_1.Histogram; } });
48
+ Object.defineProperty(exports, "Summary", { enumerable: true, get: function () { return metrics_1.Summary; } });
49
+ exports.helpers = __importStar(require("./helpers"));
41
50
  //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/metrics/prometheus/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExB,8CAA4B;AAC5B,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,qCAKmB;AAJjB,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,kGAAA,OAAO,OAAA;AAUT,qDAAqC"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../../src/metrics/prometheus/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/otel/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,MAAM;CACnD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Logger } from '../logs';
2
- export declare const init: (logger: Logger) => Promise<void>;
2
+ export declare const init: (logger: Logger) => void;
3
3
  export declare const terminate: (logger: Logger) => Promise<void>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.terminate = exports.init = void 0;
4
4
  const config_1 = require("./config");
5
5
  const sdk_1 = require("./sdk");
6
- const init = async (logger) => {
6
+ const init = (logger) => {
7
7
  logger = logger.child('otel');
8
8
  try {
9
9
  if (!config_1.config.enabled) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAClC,+BAA4B;AAErB,MAAM,IAAI,GAAG,CAAC,MAAc,EAAQ,EAAE;IAC3C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,IAAI,CAAC,eAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,eAAM,CAAC,CAAC;QACpD,SAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,IAAI,QAcf;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,SAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AATW,QAAA,SAAS,aASpB"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -0,0 +1 @@
1
+ export * from '@opentelemetry/sdk-node';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // Public API (CommonJS)
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ __exportStar(require("@opentelemetry/sdk-node"), exports);
19
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/otel/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;;;;;;;;;;;;;;AAExB,0DAAwC"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../src/otel/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -3,11 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdk = void 0;
4
4
  const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
5
5
  const baggage_span_processor_1 = require("@opentelemetry/baggage-span-processor");
6
- const context_async_hooks_1 = require("@opentelemetry/context-async-hooks");
7
- const core_1 = require("@opentelemetry/core");
8
- const exporter_prometheus_1 = require("@opentelemetry/exporter-prometheus");
9
6
  const exporter_trace_otlp_grpc_1 = require("@opentelemetry/exporter-trace-otlp-grpc");
10
- const propagator_b3_1 = require("@opentelemetry/propagator-b3");
11
7
  const resources_1 = require("@opentelemetry/resources");
12
8
  const sdk_node_1 = require("@opentelemetry/sdk-node");
13
9
  const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
@@ -15,27 +11,23 @@ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
15
11
  const global_config_1 = require("../global-config");
16
12
  exports.sdk = new sdk_node_1.NodeSDK({
17
13
  serviceName: global_config_1.globalConfig.serviceName,
18
- resource: new resources_1.Resource({
14
+ autoDetectResources: true,
15
+ resource: (0, resources_1.resourceFromAttributes)({
19
16
  [semantic_conventions_1.ATTR_SERVICE_NAME]: global_config_1.globalConfig.serviceName,
20
17
  [semantic_conventions_1.ATTR_SERVICE_VERSION]: global_config_1.globalConfig.serviceVersion,
21
18
  }),
22
- metricReader: new exporter_prometheus_1.PrometheusExporter(),
23
19
  spanProcessors: [
24
20
  new sdk_trace_base_1.BatchSpanProcessor(new exporter_trace_otlp_grpc_1.OTLPTraceExporter()),
25
21
  // It copies baggage info from parent span to child span
26
22
  new baggage_span_processor_1.BaggageSpanProcessor(baggage_span_processor_1.ALLOW_ALL_BAGGAGE_KEYS),
27
23
  ],
28
- contextManager: new context_async_hooks_1.AsyncLocalStorageContextManager(),
29
- textMapPropagator: new core_1.CompositePropagator({
30
- propagators: [
31
- new core_1.W3CTraceContextPropagator(),
32
- new core_1.W3CBaggagePropagator(),
33
- new propagator_b3_1.B3Propagator(),
34
- new propagator_b3_1.B3Propagator({
35
- injectEncoding: propagator_b3_1.B3InjectEncoding.MULTI_HEADER,
36
- }),
37
- ],
38
- }),
39
- instrumentations: [(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)()],
24
+ instrumentations: [(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
25
+ '@opentelemetry/instrumentation-http': {
26
+ responseHook: (span, response) => {
27
+ if ('setHeader' in response)
28
+ response.setHeader('cf-trace-id', span.spanContext().traceId);
29
+ },
30
+ },
31
+ })],
40
32
  });
41
33
  //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/otel/sdk.ts"],"names":[],"mappings":";;;AAAA,0FAAwF;AACxF,kFAAqG;AACrG,sFAA4E;AAC5E,wDAAkE;AAClE,sDAAkD;AAClD,kEAAmE;AACnE,8EAA8F;AAC9F,oDAAgD;AAEnC,QAAA,GAAG,GAAG,IAAI,kBAAO,CAAC;IAC7B,WAAW,EAAE,4BAAY,CAAC,WAAW;IACrC,mBAAmB,EAAE,IAAI;IACzB,QAAQ,EAAE,IAAA,kCAAsB,EAAC;QAC/B,CAAC,wCAAiB,CAAC,EAAE,4BAAY,CAAC,WAAW;QAC7C,CAAC,2CAAoB,CAAC,EAAE,4BAAY,CAAC,cAAc;KACpD,CAAC;IACF,cAAc,EAAE;QACd,IAAI,mCAAkB,CAAC,IAAI,4CAAiB,EAAE,CAAC;QAC/C,wDAAwD;QACxD,IAAI,6CAAoB,CAAC,+CAAsB,CAAC;KACjD;IACD,gBAAgB,EAAE,CAAC,IAAA,wDAA2B,EAAC;YAC7C,qCAAqC,EAAE;gBACrC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;oBAC/B,IAAI,WAAW,IAAI,QAAQ;wBAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7F,CAAC;aACF;SACF,CAAC,CAAC;CACJ,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export declare const config: {
2
2
  readonly enabled: boolean;
3
3
  readonly config: {
4
- tags: Record<string, string> | undefined;
4
+ appName: string;
5
+ tags: Record<string, string>;
5
6
  };
6
7
  };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const global_config_1 = require("../global-config");
5
+ const getTags = () => {
6
+ const rawTags = process.env['CF_TELEMETRY_PYROSCOPE_TAGS'] ?? '';
7
+ return rawTags.split(',').reduce((acc, pair) => {
8
+ const [key, value] = pair.split('=');
9
+ if (!key || !value)
10
+ return acc;
11
+ acc[key] = value;
12
+ return acc;
13
+ }, {
14
+ service_version: global_config_1.globalConfig.serviceVersion,
15
+ });
16
+ };
17
+ exports.config = {
18
+ enabled: process.env['CF_TELEMETRY_PYROSCOPE_ENABLE'] === 'true',
19
+ config: {
20
+ appName: process.env['PYROSCOPE_APPLICATION_NAME'] ?? global_config_1.globalConfig.serviceName,
21
+ tags: getTags(),
22
+ },
23
+ };
24
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/profiles/config.ts"],"names":[],"mappings":";;;AACA,oDAAgD;AAEhD,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE;QACD,eAAe,EAAE,4BAAY,CAAC,cAAc;KACnB,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,KAAK,MAAM;IAChE,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,4BAAY,CAAC,WAAW;QAC9E,IAAI,EAAE,OAAO,EAAE;KACU;CACnB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Logger } from '../logs';
2
- export declare const init: (logger: Logger) => Promise<void>;
2
+ export declare const init: (logger: Logger) => void;
3
3
  export declare const terminate: (logger: Logger) => Promise<void>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.terminate = exports.init = void 0;
7
+ const nodejs_1 = __importDefault(require("@pyroscope/nodejs"));
8
+ const config_1 = require("./config");
9
+ const init = (logger) => {
10
+ logger = logger.child('pyroscope');
11
+ try {
12
+ if (!config_1.config.enabled) {
13
+ logger.info('Pyroscope is disabled. Set CF_TELEMETRY_PYROSCOPE_ENABLE=true to enable it');
14
+ return;
15
+ }
16
+ logger.info('Initializing Pyroscope');
17
+ logger.debug('Pyroscope configuration', config_1.config);
18
+ nodejs_1.default.init(config_1.config.config);
19
+ nodejs_1.default.start();
20
+ logger.info('Pyroscope initialized');
21
+ }
22
+ catch (exception) {
23
+ logger.error('Failed to initialize Pyroscope', exception);
24
+ }
25
+ };
26
+ exports.init = init;
27
+ const terminate = async (logger) => {
28
+ logger = logger.child('pyroscope');
29
+ try {
30
+ logger.info('Terminating Pyroscope');
31
+ await nodejs_1.default.stop();
32
+ logger.info('Pyroscope terminated');
33
+ }
34
+ catch (exception) {
35
+ logger.error('Failed to terminate Pyroscope', exception);
36
+ }
37
+ };
38
+ exports.terminate = terminate;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA0C;AAE1C,qCAAkC;AAE3B,MAAM,IAAI,GAAG,CAAC,MAAc,EAAQ,EAAE;IAC3C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,IAAI,CAAC,eAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,eAAM,CAAC,CAAC;QAChD,gBAAS,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,gBAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,IAAI,QAgBf;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,gBAAS,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC;AATW,QAAA,SAAS,aASpB"}
package/package.json CHANGED
@@ -1,27 +1,34 @@
1
1
  {
2
2
  "name": "@codefresh-io/cf-telemetry",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.1.0",
4
4
  "exports": {
5
- "./init": "./dist/esm/init.mjs",
6
- ".": {
7
- "import": "./dist/esm/index.js",
8
- "require": "./dist/cjs/index.js"
5
+ "./init": {
6
+ "import": "./dist/init.mjs",
7
+ "require": "./dist/init.js"
9
8
  },
10
9
  "./logs": {
11
- "import": "./dist/esm/logs/public.js",
12
- "require": "./dist/cjs/logs/public.js"
10
+ "import": "./dist/logs/public.mjs",
11
+ "require": "./dist/logs/public.js"
12
+ },
13
+ "./logs/nest": {
14
+ "import": "./dist/logs/nest/public.mjs",
15
+ "require": "./dist/logs/nest/public.js"
16
+ },
17
+ "./logs/express": {
18
+ "import": "./dist/logs/express/public.mjs",
19
+ "require": "./dist/logs/express/public.js"
13
20
  },
14
21
  "./metrics/mongodb": {
15
- "import": "./dist/esm/metrics/mongodb/public.js",
16
- "require": "./dist/cjs/metrics/mongodb/public.js"
22
+ "import": "./dist/metrics/mongodb/public.mjs",
23
+ "require": "./dist/metrics/mongodb/public.js"
17
24
  },
18
25
  "./metrics/prometheus": {
19
- "import": "./dist/esm/metrics/prometheus/public.js",
20
- "require": "./dist/cjs/metrics/prometheus/public.js"
26
+ "import": "./dist/metrics/prometheus/public.mjs",
27
+ "require": "./dist/metrics/prometheus/public.js"
21
28
  },
22
29
  "./otel": {
23
- "import": "./dist/esm/otel/public.js",
24
- "require": "./dist/cjs/otel/public.js"
30
+ "import": "./dist/otel/public.mjs",
31
+ "require": "./dist/otel/public.js"
25
32
  }
26
33
  },
27
34
  "files": [
@@ -33,9 +40,7 @@
33
40
  },
34
41
  "packageManager": "yarn@4.5.2",
35
42
  "scripts": {
36
- "build:esm": "tsc --project tsconfig.build.esm.json",
37
- "build:cjs": "tsc --project tsconfig.build.cjs.json",
38
- "build": "rimraf ./dist && yarn run build:esm && yarn run build:cjs",
43
+ "build": "rimraf ./dist && tsc --project tsconfig.build.json",
39
44
  "lint": "eslint .",
40
45
  "lint:fix": "eslint . --fix",
41
46
  "test": "vitest run",
@@ -47,26 +52,28 @@
47
52
  },
48
53
  "devDependencies": {
49
54
  "@eslint/js": "^9.19.0",
50
- "@nestjs/common": "^11.0.7",
55
+ "@nestjs/common": "^11.0.15",
51
56
  "@stylistic/eslint-plugin": "^3.0.1",
57
+ "@types/express": "^5.0.1",
52
58
  "@types/node": "^22.12.0",
59
+ "@vitest/coverage-v8": "^3.1.2",
53
60
  "eslint": "^9.19.0",
54
61
  "mongodb": "^6.13.0",
55
62
  "rimraf": "^6.0.1",
56
63
  "typescript": "^5.8.2",
57
64
  "typescript-eslint": "^8.27.0",
58
- "vitest": "^3.0.4"
65
+ "vitest": "^3.1.2"
59
66
  },
60
67
  "dependencies": {
61
68
  "@christiangalsterer/mongodb-driver-prometheus-exporter": "^2.3.0",
62
- "@opentelemetry/api": "^1.9.0",
63
- "@opentelemetry/auto-instrumentations-node": "^0.56.0",
64
- "@opentelemetry/baggage-span-processor": "^0.3.1",
65
- "@opentelemetry/sdk-metrics": "^1.30.1",
66
- "@opentelemetry/sdk-node": "^0.57.2",
67
- "@opentelemetry/sdk-trace-node": "^1.30.1",
68
- "@pyroscope/nodejs": "^0.4.3",
69
- "fastify": "^5.2.1",
69
+ "@opentelemetry/api": "~1.9.0",
70
+ "@opentelemetry/auto-instrumentations-node": "~0.57.1",
71
+ "@opentelemetry/baggage-span-processor": "~0.4.0",
72
+ "@opentelemetry/core": "~2.0.0",
73
+ "@opentelemetry/sdk-metrics": "~2.0.0",
74
+ "@opentelemetry/sdk-trace-node": "~2.0.0",
75
+ "@pyroscope/nodejs": "^0.4.5",
76
+ "fastify": "^5.2.2",
70
77
  "pino": "^9.6.0",
71
78
  "pino-pretty": "^13.0.0",
72
79
  "prom-client": "^15.1.3"