@generazioneai/telemetry 0.0.0-stage → 0.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/CHANGELOG.md +8 -0
- package/README.md +44 -2
- package/dist/attributes.d.ts +13 -0
- package/dist/attributes.d.ts.map +1 -0
- package/dist/attributes.js +115 -0
- package/dist/attributes.js.map +1 -0
- package/dist/config.d.ts +20 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +39 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/log-context.d.ts +8 -0
- package/dist/log-context.d.ts.map +1 -0
- package/dist/log-context.js +13 -0
- package/dist/log-context.js.map +1 -0
- package/dist/logger/index.d.ts +10 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +23 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/json-logger.d.ts +39 -0
- package/dist/logger/json-logger.d.ts.map +1 -0
- package/dist/logger/json-logger.js +127 -0
- package/dist/logger/json-logger.js.map +1 -0
- package/dist/nats.interceptor.d.ts +18 -0
- package/dist/nats.interceptor.d.ts.map +1 -0
- package/dist/nats.interceptor.js +124 -0
- package/dist/nats.interceptor.js.map +1 -0
- package/dist/propagation.d.ts +18 -0
- package/dist/propagation.d.ts.map +1 -0
- package/dist/propagation.js +37 -0
- package/dist/propagation.js.map +1 -0
- package/dist/redaction.d.ts +13 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +133 -0
- package/dist/redaction.js.map +1 -0
- package/dist/register.d.ts +2 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +10 -0
- package/dist/register.js.map +1 -0
- package/dist/sanitizing-exporter.d.ts +13 -0
- package/dist/sanitizing-exporter.d.ts.map +1 -0
- package/dist/sanitizing-exporter.js +45 -0
- package/dist/sanitizing-exporter.js.map +1 -0
- package/dist/sdk.d.ts +18 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +94 -0
- package/dist/sdk.js.map +1 -0
- package/dist/telemetry.module.d.ts +26 -0
- package/dist/telemetry.module.d.ts.map +1 -0
- package/dist/telemetry.module.js +78 -0
- package/dist/telemetry.module.js.map +1 -0
- package/package.json +94 -4
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
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;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var TelemetryModule_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.TelemetryModule = exports.TelemetryService = exports.TELEMETRY_OPTIONS = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const core_1 = require("@nestjs/core");
|
|
19
|
+
const json_logger_1 = require("./logger/json-logger");
|
|
20
|
+
const nats_interceptor_1 = require("./nats.interceptor");
|
|
21
|
+
const propagation_1 = require("./propagation");
|
|
22
|
+
const sdk_1 = require("./sdk");
|
|
23
|
+
exports.TELEMETRY_OPTIONS = Symbol('TELEMETRY_OPTIONS');
|
|
24
|
+
let TelemetryService = class TelemetryService {
|
|
25
|
+
constructor(options) {
|
|
26
|
+
this.options = options;
|
|
27
|
+
this.logger = new common_1.Logger('Telemetry');
|
|
28
|
+
}
|
|
29
|
+
onModuleInit() {
|
|
30
|
+
json_logger_1.JsonLogger.defaultService = this.options.service;
|
|
31
|
+
if (this.options.authz === false)
|
|
32
|
+
return;
|
|
33
|
+
let authz = this.options.authz;
|
|
34
|
+
if (!authz) {
|
|
35
|
+
try {
|
|
36
|
+
authz = require('@generazioneai/authz');
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
authz = undefined;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (typeof authz?.setNatsHeadersHook === 'function') {
|
|
43
|
+
authz.setNatsHeadersHook(propagation_1.traceparentHeadersHook);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.logger.debug('authz senza setNatsHeadersHook: il traceparent non viaggia negli header NATS');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async onApplicationShutdown() {
|
|
50
|
+
await (0, sdk_1.shutdownTelemetry)();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.TelemetryService = TelemetryService;
|
|
54
|
+
exports.TelemetryService = TelemetryService = __decorate([
|
|
55
|
+
(0, common_1.Injectable)(),
|
|
56
|
+
__param(0, (0, common_1.Inject)(exports.TELEMETRY_OPTIONS)),
|
|
57
|
+
__metadata("design:paramtypes", [Object])
|
|
58
|
+
], TelemetryService);
|
|
59
|
+
let TelemetryModule = TelemetryModule_1 = class TelemetryModule {
|
|
60
|
+
/** `TelemetryModule.forRoot({ service: 'hr' })` nell'AppModule: interceptor `nats.server <cmd>` globale, hook del traceparent, spegnimento. */
|
|
61
|
+
static forRoot(options) {
|
|
62
|
+
return {
|
|
63
|
+
module: TelemetryModule_1,
|
|
64
|
+
global: true,
|
|
65
|
+
providers: [
|
|
66
|
+
{ provide: exports.TELEMETRY_OPTIONS, useValue: options },
|
|
67
|
+
TelemetryService,
|
|
68
|
+
{ provide: core_1.APP_INTERCEPTOR, useClass: nats_interceptor_1.NatsTelemetryInterceptor },
|
|
69
|
+
],
|
|
70
|
+
exports: [TelemetryService],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.TelemetryModule = TelemetryModule;
|
|
75
|
+
exports.TelemetryModule = TelemetryModule = TelemetryModule_1 = __decorate([
|
|
76
|
+
(0, common_1.Module)({})
|
|
77
|
+
], TelemetryModule);
|
|
78
|
+
//# sourceMappingURL=telemetry.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.module.js","sourceRoot":"","sources":["../src/telemetry.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwH;AACxH,uCAA+C;AAC/C,sDAAkD;AAClD,yDAA8D;AAC9D,+CAA6E;AAC7E,+BAA0C;AAY7B,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAGtD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAG3B,YAAuC,OAAgD;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAFtE,WAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC;IAEwC,CAAC;IAE3F,YAAY;QACV,wBAAU,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,KAAK,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,EAAE,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACpD,KAAK,CAAC,kBAAkB,CAAC,oCAAsB,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAA,uBAAiB,GAAE,CAAC;IAC5B,CAAC;CACF,CAAA;AA1BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAIE,WAAA,IAAA,eAAM,EAAC,yBAAiB,CAAC,CAAA;;GAH3B,gBAAgB,CA0B5B;AAGM,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,+IAA+I;IAC/I,MAAM,CAAC,OAAO,CAAC,OAA+B;QAC5C,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,yBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjD,gBAAgB;gBAChB,EAAE,OAAO,EAAE,sBAAe,EAAE,QAAQ,EAAE,2CAAwB,EAAE;aACjE;YACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CAc3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,96 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generazioneai/telemetry",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Osservabilità comune dei servizi Node (ADR-013): OpenTelemetry con esportazione OTLP, JsonLogger con trace_id, span dei comandi NATS con traceparent negli header, attributi a lista bianca e redazione dei dati personali.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"README.md",
|
|
10
|
+
"CHANGELOG.md"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./register": {
|
|
18
|
+
"types": "./dist/register.d.ts",
|
|
19
|
+
"default": "./dist/register.js"
|
|
20
|
+
},
|
|
21
|
+
"./logger": {
|
|
22
|
+
"types": "./dist/logger/index.d.ts",
|
|
23
|
+
"default": "./dist/logger/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"typesVersions": {
|
|
27
|
+
"*": {
|
|
28
|
+
"register": [
|
|
29
|
+
"dist/register.d.ts"
|
|
30
|
+
],
|
|
31
|
+
"logger": [
|
|
32
|
+
"dist/logger/index.d.ts"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"registry": "https://registry.npmjs.org",
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/GenerazioneAI-SRL/authz.git",
|
|
43
|
+
"directory": "packages/telemetry"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=22.0.0"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {
|
|
49
|
+
"build": "npm run clean && tsc -p tsconfig.json",
|
|
50
|
+
"clean": "rm -rf dist",
|
|
51
|
+
"test": "jest --maxWorkers=2",
|
|
52
|
+
"typecheck": "tsc -p tsconfig.spec.json"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@opentelemetry/api": "~1.9.0",
|
|
56
|
+
"@opentelemetry/core": "^2.0.0",
|
|
57
|
+
"@opentelemetry/exporter-metrics-otlp-http": "~0.219.0",
|
|
58
|
+
"@opentelemetry/exporter-trace-otlp-http": "~0.219.0",
|
|
59
|
+
"@opentelemetry/instrumentation": "~0.219.0",
|
|
60
|
+
"@opentelemetry/instrumentation-http": "~0.219.0",
|
|
61
|
+
"@opentelemetry/resources": "^2.0.0",
|
|
62
|
+
"@opentelemetry/sdk-metrics": "^2.0.0",
|
|
63
|
+
"@opentelemetry/sdk-trace-base": "^2.0.0",
|
|
64
|
+
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
65
|
+
"@opentelemetry/semantic-conventions": "^1.30.0"
|
|
66
|
+
},
|
|
67
|
+
"peerDependencies": {
|
|
68
|
+
"@nestjs/common": "^11.0.0 || ^12.0.0",
|
|
69
|
+
"@nestjs/core": "^11.0.0 || ^12.0.0",
|
|
70
|
+
"reflect-metadata": "^0.2.0",
|
|
71
|
+
"rxjs": "^7.8.0"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@nestjs/common": "^11.2.7",
|
|
75
|
+
"@nestjs/core": "^11.2.7",
|
|
76
|
+
"@nestjs/microservices": "^11.2.7",
|
|
77
|
+
"@nestjs/testing": "^11.2.7",
|
|
78
|
+
"@types/node": "^22.0.0",
|
|
79
|
+
"rxjs": "^7.8.0",
|
|
80
|
+
"typescript": "^5.1.3"
|
|
81
|
+
},
|
|
82
|
+
"keywords": [
|
|
83
|
+
"opentelemetry",
|
|
84
|
+
"tracing",
|
|
85
|
+
"logging",
|
|
86
|
+
"nats",
|
|
87
|
+
"nestjs"
|
|
88
|
+
],
|
|
89
|
+
"license": "UNLICENSED",
|
|
90
|
+
"homepage": "https://github.com/GenerazioneAI-SRL/authz/tree/main/packages/telemetry#readme",
|
|
91
|
+
"optionalDependencies": {
|
|
92
|
+
"@opentelemetry/instrumentation-ioredis": "~0.67.0",
|
|
93
|
+
"@opentelemetry/instrumentation-pg": "~0.71.0",
|
|
94
|
+
"@prisma/instrumentation": "^7.0.0"
|
|
95
|
+
}
|
|
96
|
+
}
|