@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.
- package/README.md +14 -6
- package/dist/global-config.d.ts +5 -0
- package/dist/global-config.js +10 -0
- package/dist/global-config.js.map +1 -0
- package/dist/init.d.mts +1 -0
- package/dist/{cjs/index.js → init.js} +24 -18
- package/dist/init.js.map +1 -0
- package/dist/init.mjs +2 -0
- package/dist/init.mjs.map +1 -0
- package/dist/logs/config.d.ts +2 -0
- package/dist/logs/config.js +35 -0
- package/dist/logs/config.js.map +1 -0
- package/dist/logs/express/http-logger-middleware.d.ts +10 -0
- package/dist/logs/express/http-logger-middleware.js +30 -0
- package/dist/logs/express/http-logger-middleware.js.map +1 -0
- package/dist/logs/express/index.d.ts +1 -0
- package/dist/logs/express/index.js +6 -0
- package/dist/logs/express/index.js.map +1 -0
- package/dist/logs/express/public.d.mts +1 -0
- package/dist/logs/express/public.d.ts +1 -0
- package/dist/logs/express/public.js +7 -0
- package/dist/logs/express/public.js.map +1 -0
- package/dist/logs/express/public.mjs +3 -0
- package/dist/logs/express/public.mjs.map +1 -0
- package/dist/logs/index.js.map +1 -0
- package/dist/{cjs/logs → logs}/logger.js +27 -5
- package/dist/logs/logger.js.map +1 -0
- package/dist/logs/metadata-storage.js.map +1 -0
- package/dist/logs/nest/index.d.ts +2 -0
- package/dist/logs/nest/index.js +8 -0
- package/dist/logs/nest/index.js.map +1 -0
- package/dist/logs/nest/logger-module.d.ts +4 -0
- package/dist/logs/nest/logger-module.js +69 -0
- package/dist/logs/nest/logger-module.js.map +1 -0
- package/dist/logs/nest/logger.d.ts +4 -0
- package/dist/logs/nest/logger.js +69 -0
- package/dist/logs/nest/logger.js.map +1 -0
- package/dist/logs/nest/public.d.mts +1 -0
- package/dist/logs/nest/public.d.ts +1 -0
- package/dist/logs/nest/public.js +8 -0
- package/dist/logs/nest/public.js.map +1 -0
- package/dist/logs/nest/public.mjs +3 -0
- package/dist/logs/nest/public.mjs.map +1 -0
- package/dist/logs/public.d.mts +1 -0
- package/dist/{cjs/logs → logs}/public.js +1 -0
- package/dist/logs/public.js.map +1 -0
- package/dist/logs/public.mjs +3 -0
- package/dist/logs/public.mjs.map +1 -0
- package/dist/logs/run-in-context.js.map +1 -0
- package/dist/{esm/logs → logs}/types.d.ts +9 -1
- package/dist/{cjs/logs → logs}/types.js +3 -1
- package/dist/logs/types.js.map +1 -0
- package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.js +2 -1
- package/dist/metrics/mongodb/monitor-mongodb-client.js.map +1 -0
- package/dist/metrics/mongodb/public.d.mts +1 -0
- package/dist/metrics/mongodb/public.d.ts +1 -0
- package/dist/{cjs/metrics/mongodb/index.js → metrics/mongodb/public.js} +2 -1
- package/dist/metrics/mongodb/public.js.map +1 -0
- package/dist/metrics/mongodb/public.mjs +3 -0
- package/dist/metrics/mongodb/public.mjs.map +1 -0
- package/dist/{cjs/metrics → metrics}/prometheus/client.js +3 -6
- package/dist/metrics/prometheus/client.js.map +1 -0
- package/dist/metrics/prometheus/config.d.ts +10 -0
- package/dist/metrics/prometheus/config.js +29 -0
- package/dist/metrics/prometheus/config.js.map +1 -0
- package/dist/metrics/prometheus/helpers.d.ts +5 -0
- package/dist/metrics/prometheus/helpers.js +16 -0
- package/dist/metrics/prometheus/helpers.js.map +1 -0
- package/dist/{cjs/metrics/prometheus/public.d.ts → metrics/prometheus/index.d.ts} +1 -0
- package/dist/{cjs/metrics → metrics}/prometheus/index.js +2 -2
- package/dist/metrics/prometheus/index.js.map +1 -0
- package/dist/{cjs/metrics/prometheus/init-prometheus.js → metrics/prometheus/init.js} +12 -2
- package/dist/metrics/prometheus/init.js.map +1 -0
- package/dist/metrics/prometheus/metrics.d.ts +24 -0
- package/dist/metrics/prometheus/metrics.js.map +1 -0
- package/dist/metrics/prometheus/public.d.mts +1 -0
- package/dist/metrics/prometheus/public.d.ts +5 -0
- package/dist/{cjs/metrics → metrics}/prometheus/public.js +12 -3
- package/dist/metrics/prometheus/public.js.map +1 -0
- package/dist/metrics/prometheus/public.mjs +3 -0
- package/dist/metrics/prometheus/public.mjs.map +1 -0
- package/dist/otel/config.js.map +1 -0
- package/dist/{cjs/otel → otel}/index.d.ts +1 -1
- package/dist/{cjs/otel → otel}/index.js +1 -1
- package/dist/otel/index.js.map +1 -0
- package/dist/otel/public.d.mts +1 -0
- package/dist/otel/public.d.ts +1 -0
- package/dist/otel/public.js +19 -0
- package/dist/otel/public.js.map +1 -0
- package/dist/otel/public.mjs +3 -0
- package/dist/otel/public.mjs.map +1 -0
- package/dist/{cjs/otel → otel}/sdk.js +10 -18
- package/dist/otel/sdk.js.map +1 -0
- package/dist/{cjs/profiles → profiles}/config.d.ts +2 -1
- package/dist/profiles/config.js +24 -0
- package/dist/profiles/config.js.map +1 -0
- package/dist/{esm/otel → profiles}/index.d.ts +1 -1
- package/dist/profiles/index.js +39 -0
- package/dist/profiles/index.js.map +1 -0
- package/package.json +33 -26
- package/dist/cjs/global-config.d.ts +0 -4
- package/dist/cjs/global-config.js +0 -8
- package/dist/cjs/global-config.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -7
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/init.mjs +0 -5
- package/dist/cjs/init.mjs.map +0 -1
- package/dist/cjs/logs/config.d.ts +0 -8
- package/dist/cjs/logs/config.js +0 -16
- package/dist/cjs/logs/config.js.map +0 -1
- package/dist/cjs/logs/index.js.map +0 -1
- package/dist/cjs/logs/logger.js.map +0 -1
- package/dist/cjs/logs/metadata-storage.js.map +0 -1
- package/dist/cjs/logs/public.js.map +0 -1
- package/dist/cjs/logs/run-in-context.js.map +0 -1
- package/dist/cjs/logs/types.d.ts +0 -81
- package/dist/cjs/logs/types.js.map +0 -1
- package/dist/cjs/metrics/mongodb/index.d.ts +0 -1
- package/dist/cjs/metrics/mongodb/index.js.map +0 -1
- package/dist/cjs/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
- package/dist/cjs/metrics/mongodb/public.d.ts +0 -1
- package/dist/cjs/metrics/mongodb/public.js +0 -6
- package/dist/cjs/metrics/mongodb/public.js.map +0 -1
- package/dist/cjs/metrics/prometheus/client.js.map +0 -1
- package/dist/cjs/metrics/prometheus/config.d.ts +0 -7
- package/dist/cjs/metrics/prometheus/config.js +0 -11
- package/dist/cjs/metrics/prometheus/config.js.map +0 -1
- package/dist/cjs/metrics/prometheus/index.d.ts +0 -3
- package/dist/cjs/metrics/prometheus/index.js.map +0 -1
- package/dist/cjs/metrics/prometheus/init-prometheus.js.map +0 -1
- package/dist/cjs/metrics/prometheus/metrics.d.ts +0 -22
- package/dist/cjs/metrics/prometheus/metrics.js.map +0 -1
- package/dist/cjs/metrics/prometheus/public.js.map +0 -1
- package/dist/cjs/otel/config.js.map +0 -1
- package/dist/cjs/otel/index.js.map +0 -1
- package/dist/cjs/otel/public.d.ts +0 -1
- package/dist/cjs/otel/public.js +0 -38
- package/dist/cjs/otel/public.js.map +0 -1
- package/dist/cjs/otel/sdk.js.map +0 -1
- package/dist/cjs/profiles/config.js +0 -18
- package/dist/cjs/profiles/config.js.map +0 -1
- package/dist/cjs/profiles/index.d.ts +0 -2
- package/dist/cjs/profiles/index.js +0 -22
- package/dist/cjs/profiles/index.js.map +0 -1
- package/dist/esm/global-config.d.ts +0 -4
- package/dist/esm/global-config.js +0 -5
- package/dist/esm/global-config.js.map +0 -1
- package/dist/esm/index.d.ts +0 -7
- package/dist/esm/index.js +0 -38
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.d.mts +0 -1
- package/dist/esm/init.mjs +0 -5
- package/dist/esm/init.mjs.map +0 -1
- package/dist/esm/logs/config.d.ts +0 -8
- package/dist/esm/logs/config.js +0 -13
- package/dist/esm/logs/config.js.map +0 -1
- package/dist/esm/logs/index.d.ts +0 -2
- package/dist/esm/logs/index.js +0 -3
- package/dist/esm/logs/index.js.map +0 -1
- package/dist/esm/logs/logger.d.ts +0 -61
- package/dist/esm/logs/logger.js +0 -90
- package/dist/esm/logs/logger.js.map +0 -1
- package/dist/esm/logs/metadata-storage.d.ts +0 -3
- package/dist/esm/logs/metadata-storage.js +0 -3
- package/dist/esm/logs/metadata-storage.js.map +0 -1
- package/dist/esm/logs/public.d.ts +0 -1
- package/dist/esm/logs/public.js +0 -2
- package/dist/esm/logs/public.js.map +0 -1
- package/dist/esm/logs/run-in-context.d.ts +0 -9
- package/dist/esm/logs/run-in-context.js +0 -17
- package/dist/esm/logs/run-in-context.js.map +0 -1
- package/dist/esm/logs/types.js +0 -6
- package/dist/esm/logs/types.js.map +0 -1
- package/dist/esm/metrics/mongodb/index.d.ts +0 -1
- package/dist/esm/metrics/mongodb/index.js +0 -2
- package/dist/esm/metrics/mongodb/index.js.map +0 -1
- package/dist/esm/metrics/mongodb/monitor-mongodb-client.d.ts +0 -13
- package/dist/esm/metrics/mongodb/monitor-mongodb-client.js +0 -47
- package/dist/esm/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
- package/dist/esm/metrics/mongodb/public.d.ts +0 -1
- package/dist/esm/metrics/mongodb/public.js +0 -2
- package/dist/esm/metrics/mongodb/public.js.map +0 -1
- package/dist/esm/metrics/prometheus/client.d.ts +0 -3
- package/dist/esm/metrics/prometheus/client.js +0 -11
- package/dist/esm/metrics/prometheus/client.js.map +0 -1
- package/dist/esm/metrics/prometheus/config.d.ts +0 -7
- package/dist/esm/metrics/prometheus/config.js +0 -8
- package/dist/esm/metrics/prometheus/config.js.map +0 -1
- package/dist/esm/metrics/prometheus/index.d.ts +0 -3
- package/dist/esm/metrics/prometheus/index.js +0 -4
- package/dist/esm/metrics/prometheus/index.js.map +0 -1
- package/dist/esm/metrics/prometheus/init-prometheus.d.ts +0 -2
- package/dist/esm/metrics/prometheus/init-prometheus.js +0 -32
- package/dist/esm/metrics/prometheus/init-prometheus.js.map +0 -1
- package/dist/esm/metrics/prometheus/metrics.d.ts +0 -22
- package/dist/esm/metrics/prometheus/metrics.js +0 -22
- package/dist/esm/metrics/prometheus/metrics.js.map +0 -1
- package/dist/esm/metrics/prometheus/public.d.ts +0 -2
- package/dist/esm/metrics/prometheus/public.js +0 -3
- package/dist/esm/metrics/prometheus/public.js.map +0 -1
- package/dist/esm/otel/config.d.ts +0 -3
- package/dist/esm/otel/config.js +0 -4
- package/dist/esm/otel/config.js.map +0 -1
- package/dist/esm/otel/index.js +0 -30
- package/dist/esm/otel/index.js.map +0 -1
- package/dist/esm/otel/public.d.ts +0 -1
- package/dist/esm/otel/public.js +0 -2
- package/dist/esm/otel/public.js.map +0 -1
- package/dist/esm/otel/sdk.d.ts +0 -2
- package/dist/esm/otel/sdk.js +0 -38
- package/dist/esm/otel/sdk.js.map +0 -1
- package/dist/esm/profiles/config.d.ts +0 -6
- package/dist/esm/profiles/config.js +0 -15
- package/dist/esm/profiles/config.js.map +0 -1
- package/dist/esm/profiles/index.d.ts +0 -2
- package/dist/esm/profiles/index.js +0 -15
- package/dist/esm/profiles/index.js.map +0 -1
- /package/dist/{cjs/init.d.mts → init.d.ts} +0 -0
- /package/dist/{cjs/logs → logs}/index.d.ts +0 -0
- /package/dist/{cjs/logs → logs}/index.js +0 -0
- /package/dist/{cjs/logs → logs}/logger.d.ts +0 -0
- /package/dist/{cjs/logs → logs}/metadata-storage.d.ts +0 -0
- /package/dist/{cjs/logs → logs}/metadata-storage.js +0 -0
- /package/dist/{cjs/logs → logs}/public.d.ts +0 -0
- /package/dist/{cjs/logs → logs}/run-in-context.d.ts +0 -0
- /package/dist/{cjs/logs → logs}/run-in-context.js +0 -0
- /package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.d.ts +0 -0
- /package/dist/{cjs/metrics → metrics}/prometheus/client.d.ts +0 -0
- /package/dist/{cjs/metrics/prometheus/init-prometheus.d.ts → metrics/prometheus/init.d.ts} +0 -0
- /package/dist/{cjs/metrics → metrics}/prometheus/metrics.js +0 -0
- /package/dist/{cjs/otel → otel}/config.d.ts +0 -0
- /package/dist/{cjs/otel → otel}/config.js +0 -0
- /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(
|
|
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=
|
|
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 @@
|
|
|
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(
|
|
14
|
-
|
|
15
|
-
|
|
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,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"}
|
|
@@ -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
|
|
41
|
-
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return
|
|
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',
|
|
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
|
|
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.
|
|
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
|
-
|
|
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 @@
|
|
|
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"}
|
|
@@ -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 =
|
|
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 @@
|
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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"}
|
|
@@ -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"}
|
|
@@ -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.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"exports": {
|
|
5
|
-
"./init":
|
|
6
|
-
|
|
7
|
-
"
|
|
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/
|
|
12
|
-
"require": "./dist/
|
|
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/
|
|
16
|
-
"require": "./dist/
|
|
22
|
+
"import": "./dist/metrics/mongodb/public.mjs",
|
|
23
|
+
"require": "./dist/metrics/mongodb/public.js"
|
|
17
24
|
},
|
|
18
25
|
"./metrics/prometheus": {
|
|
19
|
-
"import": "./dist/
|
|
20
|
-
"require": "./dist/
|
|
26
|
+
"import": "./dist/metrics/prometheus/public.mjs",
|
|
27
|
+
"require": "./dist/metrics/prometheus/public.js"
|
|
21
28
|
},
|
|
22
29
|
"./otel": {
|
|
23
|
-
"import": "./dist/
|
|
24
|
-
"require": "./dist/
|
|
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
|
|
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.
|
|
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.
|
|
65
|
+
"vitest": "^3.1.2"
|
|
59
66
|
},
|
|
60
67
|
"dependencies": {
|
|
61
68
|
"@christiangalsterer/mongodb-driver-prometheus-exporter": "^2.3.0",
|
|
62
|
-
"@opentelemetry/api": "
|
|
63
|
-
"@opentelemetry/auto-instrumentations-node": "
|
|
64
|
-
"@opentelemetry/baggage-span-processor": "
|
|
65
|
-
"@opentelemetry/
|
|
66
|
-
"@opentelemetry/sdk-
|
|
67
|
-
"@opentelemetry/sdk-trace-node": "
|
|
68
|
-
"@pyroscope/nodejs": "^0.4.
|
|
69
|
-
"fastify": "^5.2.
|
|
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"
|