@codefresh-io/cf-telemetry 2.0.0 → 2.2.0-alpha.1
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/dist/global-config.d.ts +1 -0
- package/dist/global-config.js +1 -0
- package/dist/global-config.js.map +1 -1
- package/dist/init.js +2 -2
- package/dist/init.js.map +1 -1
- package/dist/logs/config.d.ts +2 -8
- package/dist/logs/config.js +26 -7
- package/dist/logs/config.js.map +1 -1
- package/dist/logs/logger.js +27 -18
- package/dist/logs/logger.js.map +1 -1
- package/dist/logs/nest/logger-module.js +24 -59
- package/dist/logs/nest/logger-module.js.map +1 -1
- package/dist/logs/nest/logger.js +21 -58
- package/dist/logs/nest/logger.js.map +1 -1
- package/dist/logs/types.d.ts +9 -1
- package/dist/logs/types.js +3 -1
- package/dist/logs/types.js.map +1 -1
- package/dist/metrics/mongodb/monitor-mongodb-client.js +2 -1
- package/dist/metrics/mongodb/monitor-mongodb-client.js.map +1 -1
- package/dist/otel/cf-helpers.d.ts +14 -0
- package/dist/otel/cf-helpers.js +77 -0
- package/dist/otel/cf-helpers.js.map +1 -0
- package/dist/otel/public.d.ts +1 -0
- package/dist/otel/public.js +24 -0
- package/dist/otel/public.js.map +1 -1
- package/package.json +3 -2
package/dist/global-config.d.ts
CHANGED
package/dist/global-config.js
CHANGED
|
@@ -5,5 +5,6 @@ exports.globalConfig = void 0;
|
|
|
5
5
|
exports.globalConfig = {
|
|
6
6
|
serviceName: process.env['CF_SERVICE_NAME'] || 'unknown_service:node',
|
|
7
7
|
serviceVersion: process.env['CF_SERVICE_VERSION'] || 'unknown',
|
|
8
|
+
libLogScope: 'cf-telemetry',
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=global-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../src/global-config.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACpD,QAAA,YAAY,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,sBAAsB;IACrE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../src/global-config.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACpD,QAAA,YAAY,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,sBAAsB;IACrE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS;IAC9D,WAAW,EAAE,cAAc;CACnB,CAAC"}
|
package/dist/init.js
CHANGED
|
@@ -49,7 +49,7 @@ const init = () => {
|
|
|
49
49
|
if (isInitialized)
|
|
50
50
|
return;
|
|
51
51
|
try {
|
|
52
|
-
const logger = new logs.Logger(
|
|
52
|
+
const logger = new logs.Logger(global_config_1.globalConfig.libLogScope);
|
|
53
53
|
logger.info('Initializing telemetry services');
|
|
54
54
|
logger.debug('Telemetry configuration', global_config_1.globalConfig);
|
|
55
55
|
otel.init(logger);
|
|
@@ -63,7 +63,7 @@ const init = () => {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
const terminate = async () => {
|
|
66
|
-
const logger = new logs.Logger(
|
|
66
|
+
const logger = new logs.Logger(global_config_1.globalConfig.libLogScope);
|
|
67
67
|
try {
|
|
68
68
|
logger.info('Terminating telemetry services');
|
|
69
69
|
await otel.terminate(logger).catch(logger.error);
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,6CAA+B;AAC/B,6BAA6B;AAE7B,mDAA+C;AAC/C,6CAA+B;AAC/B,iEAAmD;AACnD,qDAAuC;AAEvC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,IAAI,aAAa;QAAE,OAAO;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,6CAA+B;AAC/B,6BAA6B;AAE7B,mDAA+C;AAC/C,6CAA+B;AAC/B,iEAAmD;AACnD,qDAAuC;AAEvC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,IAAI,aAAa;QAAE,OAAO;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,4BAAY,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,aAAa,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC;AAEP,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACjC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC"}
|
package/dist/logs/config.d.ts
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
readonly shouldPrettify: boolean;
|
|
4
|
-
readonly sync: boolean;
|
|
5
|
-
readonly defaultInitiator: {
|
|
6
|
-
type: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
1
|
+
import { LogsConfig } from './types';
|
|
2
|
+
export declare const config: LogsConfig;
|
package/dist/logs/config.js
CHANGED
|
@@ -2,14 +2,33 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const getLevel = () => {
|
|
6
|
+
const detectedLevel = process.env['CF_TELEMETRY_LOGS_LEVEL'] ?? 'info';
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
const isKnownLevel = types_1.Level.includes(detectedLevel);
|
|
9
|
+
if (!isKnownLevel) {
|
|
10
|
+
console.warn(`Unknown value for 'CF_TELEMETRY_LOGS_LEVEL': "${detectedLevel}". Defaulting to 'info'. Allowed values: ${types_1.Level.join('|')}.`);
|
|
11
|
+
return 'info';
|
|
12
|
+
}
|
|
13
|
+
;
|
|
14
|
+
return detectedLevel;
|
|
15
|
+
};
|
|
16
|
+
const getPrettify = () => {
|
|
17
|
+
const prettify = process.env['CF_TELEMETRY_LOGS_PRETTIFY'];
|
|
18
|
+
switch (prettify) {
|
|
19
|
+
case 'single-line':
|
|
20
|
+
case 'multi-line':
|
|
21
|
+
return prettify;
|
|
22
|
+
case 'false':
|
|
23
|
+
return false;
|
|
24
|
+
default:
|
|
25
|
+
console.warn(`Unknown value for 'CF_TELEMETRY_LOGS_PRETTIFY': "${prettify}". Defaulting to false. Allowed values: ${types_1.Prettify.join('|')}.`);
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
10
29
|
exports.config = {
|
|
11
|
-
level:
|
|
12
|
-
|
|
30
|
+
level: getLevel(),
|
|
31
|
+
prettify: getPrettify(),
|
|
13
32
|
sync: process.env['CF_TELEMETRY_LOGS_SYNC'] === 'true',
|
|
14
33
|
defaultInitiator: { type: 'system' },
|
|
15
34
|
};
|
package/dist/logs/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/logs/config.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/logs/config.ts"],"names":[],"mappings":";;;AAAA,mCAAsD;AAEtD,MAAM,QAAQ,GAAG,GAAU,EAAE;IAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,MAAM,CAAC;IACvE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,aAAK,CAAC,QAAQ,CAAC,aAAoB,CAAC,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,iDAAiD,aAAa,4CAA4C,aAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3I,OAAO,MAAM,CAAC;IAChB,CAAC;IAAA,CAAC;IACF,OAAO,aAAsB,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAa,EAAE;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf;YACE,OAAO,CAAC,IAAI,CAAC,oDAAoD,QAAQ,2CAA2C,gBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3I,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ,EAAE;IACjB,QAAQ,EAAE,WAAW,EAAE;IACvB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,MAAM;IACtD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC5B,CAAC"}
|
package/dist/logs/logger.js
CHANGED
|
@@ -15,29 +15,21 @@ class Logger {
|
|
|
15
15
|
this.#options = typeof options === 'string' ? { scope: options } : options;
|
|
16
16
|
this.#baseLogger = (0, pino_1.default)({
|
|
17
17
|
level: config_1.config.level,
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Set to `undefined` to disable default pino metadata.
|
|
20
|
+
* Docs: https://github.com/pinojs/pino/blob/main/docs/api.md#base-object
|
|
21
|
+
*/
|
|
22
|
+
base: undefined,
|
|
19
23
|
formatters: {
|
|
20
24
|
level: label => ({ level: label }),
|
|
21
25
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (typeof data === 'object' && data !== null) {
|
|
25
|
-
if ('err' in data && data.err instanceof Error) {
|
|
26
|
-
data.err = pino_1.default.stdSerializers.err(data.err);
|
|
27
|
-
}
|
|
28
|
-
else if ('error' in data && data.error instanceof Error) {
|
|
29
|
-
data.error = pino_1.default.stdSerializers.err(data.error);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return data;
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
...config_1.config.shouldPrettify && {
|
|
26
|
+
...config_1.config.prettify && {
|
|
27
|
+
name: this.#options.scope,
|
|
36
28
|
transport: {
|
|
37
29
|
target: 'pino-pretty',
|
|
38
30
|
options: {
|
|
39
31
|
colorize: true,
|
|
40
|
-
|
|
32
|
+
singleLine: config_1.config.prettify === 'single-line',
|
|
41
33
|
},
|
|
42
34
|
},
|
|
43
35
|
},
|
|
@@ -77,8 +69,25 @@ class Logger {
|
|
|
77
69
|
}
|
|
78
70
|
else {
|
|
79
71
|
body.msg = msgOrErr;
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
if (data && data instanceof Error) {
|
|
73
|
+
body.err = data;
|
|
74
|
+
}
|
|
75
|
+
else if (data && typeof data === 'object') {
|
|
76
|
+
body.data = { ...data }; // shallow clone to avoid mutation while deleting props
|
|
77
|
+
// @ts-expect-error: TS is unable to narrow type, while we know that `data` is an object
|
|
78
|
+
if ('err' in body.data) {
|
|
79
|
+
body.err = body.data.err;
|
|
80
|
+
delete body.data.err;
|
|
81
|
+
// @ts-expect-error: TS is unable to narrow type, while we know that `data` is an object
|
|
82
|
+
}
|
|
83
|
+
else if ('error' in body.data) {
|
|
84
|
+
body.err = body.data.error;
|
|
85
|
+
delete body.data.error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
body.data = data;
|
|
90
|
+
}
|
|
82
91
|
}
|
|
83
92
|
return this.#baseLogger[level](body);
|
|
84
93
|
}
|
package/dist/logs/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logs/logger.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logs/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
var _, done = false;
|
|
8
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
-
var context = {};
|
|
10
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
-
if (kind === "accessor") {
|
|
15
|
-
if (result === void 0) continue;
|
|
16
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
-
}
|
|
21
|
-
else if (_ = accept(result)) {
|
|
22
|
-
if (kind === "field") initializers.unshift(_);
|
|
23
|
-
else descriptor[key] = _;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
-
done = true;
|
|
28
|
-
};
|
|
29
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
-
var useValue = arguments.length > 2;
|
|
31
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
-
}
|
|
34
|
-
return useValue ? value : void 0;
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
35
7
|
};
|
|
36
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
9
|
exports.LoggerModule = void 0;
|
|
@@ -39,31 +11,24 @@ const common_1 = require("@nestjs/common");
|
|
|
39
11
|
const express_1 = require("../express");
|
|
40
12
|
const logger_1 = require("./logger");
|
|
41
13
|
// TODO: add options to configure the logger
|
|
42
|
-
let LoggerModule =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var LoggerModule = class {
|
|
51
|
-
static { _classThis = this; }
|
|
52
|
-
static {
|
|
53
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
54
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
55
|
-
LoggerModule = _classThis = _classDescriptor.value;
|
|
56
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
57
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
58
|
-
}
|
|
59
|
-
configure(consumer) {
|
|
60
|
-
const middleware = (0, express_1.httpLoggerMiddlewareFactory)(new logger_1.Logger('http'), 'info');
|
|
61
|
-
consumer
|
|
62
|
-
.apply(middleware)
|
|
63
|
-
.forRoutes({ path: '*', method: common_1.RequestMethod.ALL });
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
return LoggerModule = _classThis;
|
|
67
|
-
})();
|
|
14
|
+
let LoggerModule = class LoggerModule {
|
|
15
|
+
configure(consumer) {
|
|
16
|
+
const middleware = (0, express_1.httpLoggerMiddlewareFactory)(new logger_1.Logger('http'), 'info');
|
|
17
|
+
consumer
|
|
18
|
+
.apply(middleware)
|
|
19
|
+
.forRoutes({ path: '*', method: common_1.RequestMethod.ALL });
|
|
20
|
+
}
|
|
21
|
+
};
|
|
68
22
|
exports.LoggerModule = LoggerModule;
|
|
23
|
+
exports.LoggerModule = LoggerModule = __decorate([
|
|
24
|
+
(0, common_1.Global)(),
|
|
25
|
+
(0, common_1.Module)({
|
|
26
|
+
providers: [logger_1.Logger],
|
|
27
|
+
exports: [logger_1.Logger],
|
|
28
|
+
})
|
|
29
|
+
/**
|
|
30
|
+
* LoggerModule is a global module that provides a logger service,
|
|
31
|
+
* and enables HTTP logging middleware.
|
|
32
|
+
*/
|
|
33
|
+
], LoggerModule);
|
|
69
34
|
//# sourceMappingURL=logger-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-module.js","sourceRoot":"","sources":["../../../src/logs/nest/logger-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger-module.js","sourceRoot":"","sources":["../../../src/logs/nest/logger-module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA+F;AAC/F,wCAAyD;AACzD,qCAAkC;AAElC,4CAA4C;AAWrC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,SAAS,CAAC,QAA4B;QACpC,MAAM,UAAU,GAAG,IAAA,qCAA2B,EAAC,IAAI,eAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,QAAQ;aACL,KAAK,CAAC,UAAU,CAAC;aACjB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;CACF,CAAA;AAPY,oCAAY;uBAAZ,YAAY;IATxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,eAAM,CAAC;QACnB,OAAO,EAAE,CAAC,eAAM,CAAC;KAClB,CAAC;IACF;;;OAGG;GACU,YAAY,CAOxB"}
|
package/dist/logs/nest/logger.js
CHANGED
|
@@ -1,69 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
var _, done = false;
|
|
8
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
-
var context = {};
|
|
10
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
-
if (kind === "accessor") {
|
|
15
|
-
if (result === void 0) continue;
|
|
16
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
-
}
|
|
21
|
-
else if (_ = accept(result)) {
|
|
22
|
-
if (kind === "field") initializers.unshift(_);
|
|
23
|
-
else descriptor[key] = _;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
-
done = true;
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
28
7
|
};
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
-
}
|
|
34
|
-
return useValue ? value : void 0;
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
35
10
|
};
|
|
36
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
12
|
exports.Logger = void 0;
|
|
38
13
|
const common_1 = require("@nestjs/common");
|
|
39
14
|
const logger_1 = require("../logger");
|
|
40
|
-
let Logger =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
let _classSuper = logger_1.Logger;
|
|
46
|
-
var Logger = class extends _classSuper {
|
|
47
|
-
static { _classThis = this; }
|
|
48
|
-
static {
|
|
49
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
50
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
51
|
-
Logger = _classThis = _classDescriptor.value;
|
|
52
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
53
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
15
|
+
let Logger = class Logger extends logger_1.Logger {
|
|
16
|
+
constructor(...params) {
|
|
17
|
+
let options = params?.at(0);
|
|
18
|
+
if (typeof options === 'string') {
|
|
19
|
+
options = { scope: options, useLastArgAsScope: true };
|
|
54
20
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (typeof options === 'string') {
|
|
58
|
-
options = { scope: options, useLastArgAsScope: true };
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
options = { ...options, useLastArgAsScope: true };
|
|
62
|
-
}
|
|
63
|
-
super(options);
|
|
21
|
+
else {
|
|
22
|
+
options = { ...options, useLastArgAsScope: true };
|
|
64
23
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
24
|
+
super(options);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
68
27
|
exports.Logger = Logger;
|
|
28
|
+
exports.Logger = Logger = __decorate([
|
|
29
|
+
(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }),
|
|
30
|
+
__metadata("design:paramtypes", [Object])
|
|
31
|
+
], Logger);
|
|
69
32
|
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logs/nest/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logs/nest/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmD;AACnD,sCAAiD;AAG1C,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,eAAU;IACpC,YAAY,GAAG,MAAgD;QAC7D,IAAI,OAAO,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF,CAAA;AAVY,wBAAM;iBAAN,MAAM;IADlB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,SAAS,EAAE,CAAC;;GAC1B,MAAM,CAUlB"}
|
package/dist/logs/types.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { LoggerService } from '@nestjs/common';
|
|
2
2
|
export declare const Level: readonly ["debug", "info", "warn", "error"];
|
|
3
3
|
export type Level = (typeof Level[number]);
|
|
4
|
+
export declare const Prettify: readonly ["single-line", "multi-line", false];
|
|
5
|
+
export type Prettify = (typeof Prettify[number]);
|
|
6
|
+
export interface LogsConfig {
|
|
7
|
+
level: Level;
|
|
8
|
+
prettify: Prettify;
|
|
9
|
+
sync: boolean;
|
|
10
|
+
defaultInitiator: LogMetadata['initiator'];
|
|
11
|
+
}
|
|
4
12
|
/**
|
|
5
13
|
* Scope name to be used for all log lines.
|
|
6
14
|
*/
|
|
@@ -75,7 +83,7 @@ export interface LogMetadata {
|
|
|
75
83
|
export interface LogBody {
|
|
76
84
|
msg?: LogMessage;
|
|
77
85
|
data?: LogData;
|
|
78
|
-
err?:
|
|
86
|
+
err?: unknown;
|
|
79
87
|
cf: LogMetadata;
|
|
80
88
|
scope_name?: Scope;
|
|
81
89
|
}
|
package/dist/logs/types.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Level = void 0;
|
|
3
|
+
exports.Prettify = exports.Level = void 0;
|
|
4
4
|
exports.Level = ['debug', 'info', 'warn', 'error'];
|
|
5
|
+
exports.Prettify = ['single-line', 'multi-line', false];
|
|
6
|
+
;
|
|
5
7
|
;
|
|
6
8
|
;
|
|
7
9
|
;
|
package/dist/logs/types.js.map
CHANGED
|
@@ -1 +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;
|
|
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 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor-mongodb-client.js","sourceRoot":"","sources":["../../../src/metrics/mongodb/monitor-mongodb-client.ts"],"names":[],"mappings":";;;AAAA,+GAA8F;AAE9F,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,
|
|
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,14 @@
|
|
|
1
|
+
import { api } from '@opentelemetry/sdk-node';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a tracer from the global tracer provider.
|
|
4
|
+
* Tracer name and version are set to the service name and version.
|
|
5
|
+
*
|
|
6
|
+
* Utility wrapper for {@link api.trace.getTracer|api.trace.getTracer}
|
|
7
|
+
**/
|
|
8
|
+
export declare const getTracer: () => api.Tracer;
|
|
9
|
+
/**
|
|
10
|
+
* Decorator wraps a method in an active span.
|
|
11
|
+
* The span name is set to the method name and the class name.
|
|
12
|
+
* The span kind is set to INTERNAL.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Span: (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<(...args: any[]) => any>) => TypedPropertyDescriptor<(...args: any[]) => any>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Span = exports.getTracer = void 0;
|
|
4
|
+
const sdk_node_1 = require("@opentelemetry/sdk-node");
|
|
5
|
+
const global_config_1 = require("../global-config");
|
|
6
|
+
/**
|
|
7
|
+
* Returns a tracer from the global tracer provider.
|
|
8
|
+
* Tracer name and version are set to the service name and version.
|
|
9
|
+
*
|
|
10
|
+
* Utility wrapper for {@link api.trace.getTracer|api.trace.getTracer}
|
|
11
|
+
**/
|
|
12
|
+
const getTracer = () => {
|
|
13
|
+
return sdk_node_1.api.trace.getTracer(global_config_1.globalConfig.serviceName, global_config_1.globalConfig.serviceVersion);
|
|
14
|
+
};
|
|
15
|
+
exports.getTracer = getTracer;
|
|
16
|
+
/**
|
|
17
|
+
* Decorator wraps a method in an active span.
|
|
18
|
+
* The span name is set to the method name and the class name.
|
|
19
|
+
* The span kind is set to INTERNAL.
|
|
20
|
+
*/
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types, @typescript-eslint/no-explicit-any
|
|
22
|
+
const Span = (target, propertyKey, descriptor) => {
|
|
23
|
+
const originalMethod = descriptor.value;
|
|
24
|
+
descriptor.value = function (...args) {
|
|
25
|
+
(0, exports.getTracer)().startActiveSpan(`${target.constructor.name} ${String(propertyKey)}`, { kind: sdk_node_1.api.SpanKind.INTERNAL }, (span) => {
|
|
26
|
+
try {
|
|
27
|
+
const result = originalMethod.apply(target, args);
|
|
28
|
+
if (result instanceof Promise) {
|
|
29
|
+
return result
|
|
30
|
+
.then((res) => {
|
|
31
|
+
// Async success handling
|
|
32
|
+
span.setStatus({ code: sdk_node_1.api.SpanStatusCode.OK });
|
|
33
|
+
span.end();
|
|
34
|
+
return res;
|
|
35
|
+
})
|
|
36
|
+
.catch((exception) => {
|
|
37
|
+
// Async error handling
|
|
38
|
+
if (exception instanceof Error) {
|
|
39
|
+
span.recordException(exception);
|
|
40
|
+
span.setStatus({
|
|
41
|
+
code: sdk_node_1.api.SpanStatusCode.ERROR,
|
|
42
|
+
message: exception.message,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
span.setStatus({ code: sdk_node_1.api.SpanStatusCode.ERROR });
|
|
47
|
+
}
|
|
48
|
+
span.end();
|
|
49
|
+
throw exception;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
// Sync success handling
|
|
53
|
+
span.setStatus({ code: sdk_node_1.api.SpanStatusCode.OK });
|
|
54
|
+
span.end();
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
catch (exception) {
|
|
58
|
+
// Sync error handling
|
|
59
|
+
if (exception instanceof Error) {
|
|
60
|
+
span.recordException(exception);
|
|
61
|
+
span.setStatus({
|
|
62
|
+
code: sdk_node_1.api.SpanStatusCode.ERROR,
|
|
63
|
+
message: exception.message,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
span.setStatus({ code: sdk_node_1.api.SpanStatusCode.ERROR });
|
|
68
|
+
}
|
|
69
|
+
span.end();
|
|
70
|
+
throw exception;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
return descriptor;
|
|
75
|
+
};
|
|
76
|
+
exports.Span = Span;
|
|
77
|
+
//# sourceMappingURL=cf-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cf-helpers.js","sourceRoot":"","sources":["../../src/otel/cf-helpers.ts"],"names":[],"mappings":";;;AAAA,sDAA8C;AAC9C,oDAAgD;AAEhD;;;;;IAKI;AACG,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,OAAO,cAAG,CAAC,KAAK,CAAC,SAAS,CAAC,4BAAY,CAAC,WAAW,EAAE,4BAAY,CAAC,cAAc,CAAC,CAAC;AACpF,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEF;;;;GAIG;AACH,0GAA0G;AACnG,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA4D,EAAE,EAAE;IACjI,MAAM,cAAc,GAAG,UAAU,CAAC,KAAM,CAAC;IACzC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAe;QAC7C,IAAA,iBAAS,GAAE,CAAC,eAAe,CACzB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,EACnD,EAAE,IAAI,EAAE,cAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAC/B,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAClD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC9B,OAAO,MAAM;yBACV,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACZ,yBAAyB;wBACzB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChD,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;wBACnB,uBAAuB;wBACvB,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;4BAC/B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BAChC,IAAI,CAAC,SAAS,CAAC;gCACb,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,KAAK;gCAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;6BAC3B,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,MAAM,SAAS,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,wBAAwB;gBACxB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,sBAAsB;gBACtB,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAChC,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,KAAK;wBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,MAAM,SAAS,CAAC;YAClB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAtDW,QAAA,IAAI,QAsDf"}
|
package/dist/otel/public.d.ts
CHANGED
package/dist/otel/public.js
CHANGED
|
@@ -11,9 +11,33 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
11
11
|
if (k2 === undefined) k2 = k;
|
|
12
12
|
o[k2] = m[k];
|
|
13
13
|
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
14
19
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
20
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
21
|
};
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
17
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.cf = void 0;
|
|
18
41
|
__exportStar(require("@opentelemetry/sdk-node"), exports);
|
|
42
|
+
exports.cf = __importStar(require("./cf-helpers"));
|
|
19
43
|
//# sourceMappingURL=public.js.map
|
package/dist/otel/public.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/otel/public.ts"],"names":[],"mappings":";AAAA,wBAAwB
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/otel/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExB,0DAAwC;AACxC,mDAAmC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codefresh-io/cf-telemetry",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.2.0-alpha.1",
|
|
4
4
|
"exports": {
|
|
5
5
|
"./init": {
|
|
6
6
|
"import": "./dist/init.mjs",
|
|
@@ -56,12 +56,13 @@
|
|
|
56
56
|
"@stylistic/eslint-plugin": "^3.0.1",
|
|
57
57
|
"@types/express": "^5.0.1",
|
|
58
58
|
"@types/node": "^22.12.0",
|
|
59
|
+
"@vitest/coverage-v8": "^3.1.2",
|
|
59
60
|
"eslint": "^9.19.0",
|
|
60
61
|
"mongodb": "^6.13.0",
|
|
61
62
|
"rimraf": "^6.0.1",
|
|
62
63
|
"typescript": "^5.8.2",
|
|
63
64
|
"typescript-eslint": "^8.27.0",
|
|
64
|
-
"vitest": "^3.1.
|
|
65
|
+
"vitest": "^3.1.2"
|
|
65
66
|
},
|
|
66
67
|
"dependencies": {
|
|
67
68
|
"@christiangalsterer/mongodb-driver-prometheus-exporter": "^2.3.0",
|