@edirect/trace 9.0.12 → 9.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.editorconfig +14 -14
  2. package/.eslintignore +1 -1
  3. package/.eslintrc.js +44 -44
  4. package/.eslintrc.json +159 -159
  5. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/trace.iml +12 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/.prettierrc +4 -4
  10. package/README.md +352 -0
  11. package/dist/constants/headers.d.ts +4 -4
  12. package/dist/constants/headers.js +5 -5
  13. package/dist/constants/index.d.ts +1 -1
  14. package/dist/constants/index.js +8 -8
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.js +30 -30
  17. package/dist/middlewares/CLS.d.ts +5 -5
  18. package/dist/middlewares/CLS.js +33 -33
  19. package/dist/middlewares/body.d.ts +5 -7
  20. package/dist/middlewares/body.js +40 -44
  21. package/dist/middlewares/body.js.map +1 -1
  22. package/dist/middlewares/index.d.ts +4 -3
  23. package/dist/middlewares/index.js +14 -12
  24. package/dist/middlewares/index.js.map +1 -1
  25. package/dist/middlewares/nextjs.d.ts +5 -0
  26. package/dist/middlewares/nextjs.js +39 -0
  27. package/dist/middlewares/nextjs.js.map +1 -0
  28. package/dist/middlewares/trace.d.ts +5 -5
  29. package/dist/middlewares/trace.js +26 -26
  30. package/dist/otel.d.ts +1 -1
  31. package/dist/otel.js +88 -86
  32. package/dist/otel.js.map +1 -1
  33. package/dist/services/APM.d.ts +14 -14
  34. package/dist/services/APM.js +57 -57
  35. package/dist/services/index.d.ts +1 -1
  36. package/dist/services/index.js +8 -8
  37. package/dist/tsconfig.build.tsbuildinfo +1 -1
  38. package/dist/utils/CLS.d.ts +5 -5
  39. package/dist/utils/CLS.js +41 -41
  40. package/dist/utils/body-prop-tools.d.ts +5 -0
  41. package/dist/utils/body-prop-tools.js +24 -0
  42. package/dist/utils/body-prop-tools.js.map +1 -0
  43. package/dist/utils/index.d.ts +3 -2
  44. package/dist/utils/index.js +12 -10
  45. package/dist/utils/index.js.map +1 -1
  46. package/dist/utils/trace.d.ts +5 -5
  47. package/dist/utils/trace.js +12 -12
  48. package/docs/architecture.png +0 -0
  49. package/package.json +42 -42
  50. package/tsconfig.build.json +9 -9
@@ -1,3 +1,4 @@
1
- export { default as Trace } from './trace';
2
- export { default as CLS } from './CLS';
3
- export { default as Body } from './body';
1
+ export { default as Trace } from './trace';
2
+ export { default as CLS } from './CLS';
3
+ export { default as Body } from './body';
4
+ export { default as NextJs } from './nextjs';
@@ -1,13 +1,15 @@
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.Body = exports.CLS = exports.Trace = void 0;
7
- var trace_1 = require("./trace");
8
- Object.defineProperty(exports, "Trace", { enumerable: true, get: function () { return __importDefault(trace_1).default; } });
9
- var CLS_1 = require("./CLS");
10
- Object.defineProperty(exports, "CLS", { enumerable: true, get: function () { return __importDefault(CLS_1).default; } });
11
- var body_1 = require("./body");
12
- Object.defineProperty(exports, "Body", { enumerable: true, get: function () { return __importDefault(body_1).default; } });
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.NextJs = exports.Body = exports.CLS = exports.Trace = void 0;
7
+ var trace_1 = require("./trace");
8
+ Object.defineProperty(exports, "Trace", { enumerable: true, get: function () { return __importDefault(trace_1).default; } });
9
+ var CLS_1 = require("./CLS");
10
+ Object.defineProperty(exports, "CLS", { enumerable: true, get: function () { return __importDefault(CLS_1).default; } });
11
+ var body_1 = require("./body");
12
+ Object.defineProperty(exports, "Body", { enumerable: true, get: function () { return __importDefault(body_1).default; } });
13
+ var nextjs_1 = require("./nextjs");
14
+ Object.defineProperty(exports, "NextJs", { enumerable: true, get: function () { return __importDefault(nextjs_1).default; } });
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AACzB,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AACvB,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,mCAA4C;AAAnC,iHAAA,OAAO,OAAU"}
@@ -0,0 +1,5 @@
1
+ type NextRequest = Request & Record<string, unknown>;
2
+ declare class NextJs {
3
+ body: (request: NextRequest) => void;
4
+ }
5
+ export default NextJs;
@@ -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
+ const api_1 = __importDefault(require("@opentelemetry/api"));
7
+ const body_prop_tools_1 = __importDefault(require("../utils/body-prop-tools"));
8
+ class NextJs {
9
+ constructor() {
10
+ this.body = (request) => {
11
+ var _a, _b;
12
+ if (!request)
13
+ return;
14
+ try {
15
+ const TRACE_SERVER_URL = process.env['TRACE_SERVER_URL'];
16
+ console.log(TRACE_SERVER_URL);
17
+ if (!TRACE_SERVER_URL)
18
+ return;
19
+ const url = ((_b = (_a = request === null || request === void 0 ? void 0 : request.url) === null || _a === void 0 ? void 0 : _a.split('?')) === null || _b === void 0 ? void 0 : _b.shift()) || '';
20
+ let span = api_1.default.trace.getSpan(api_1.default.context.active());
21
+ if (!span)
22
+ span = api_1.default.trace
23
+ .getTracer('edirect/trace', '1')
24
+ .startSpan(url);
25
+ const attrs = body_prop_tools_1.default.propertiesToArray(request.body || {});
26
+ for (let x = 0; x < attrs.length; x++) {
27
+ span.setAttribute(`http@body.${attrs[x]}`, body_prop_tools_1.default.getValue(attrs[x], request.body || {}));
28
+ }
29
+ }
30
+ catch (error) {
31
+ const span = api_1.default.trace.getSpan(api_1.default.context.active());
32
+ span.setAttribute('exception.source', 'otel');
33
+ span.recordException(error);
34
+ }
35
+ };
36
+ }
37
+ }
38
+ exports.default = NextJs;
39
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/middlewares/nextjs.ts"],"names":[],"mappings":";;;;;AAAA,6DAA+C;AAE/C,+EAAqD;AAIrD,MAAM,MAAM;IAAZ;QACS,SAAI,GAAG,CAAC,OAAoB,EAAQ,EAAE;;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI;gBACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,IAAI,CAAC,gBAAgB;oBAAE,OAAO;gBAE9B,MAAM,GAAG,GAAG,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,0CAAE,KAAK,CAAC,GAAG,CAAC,0CAAE,KAAK,EAAE,KAAI,EAAE,CAAC;gBACpD,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEvE,IAAI,CAAC,IAAI;oBACP,IAAI,GAAG,aAAa,CAAC,KAAK;yBACvB,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC;yBAC/B,SAAS,CAAC,GAAG,CAAC,CAAC;gBAEpB,MAAM,KAAK,GAAG,yBAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,CAAC,YAAY,CACf,aAAa,KAAK,CAAC,CAAC,CAAC,EAAE,EACvB,yBAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CACrD,CAAC;iBACH;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,kBAAe,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- declare class Trace {
3
- static trace(req: Request, res: Response, next: NextFunction): void;
4
- }
5
- export default Trace;
1
+ import { Request, Response, NextFunction } from 'express';
2
+ declare class Trace {
3
+ static trace(req: Request, res: Response, next: NextFunction): void;
4
+ }
5
+ export default Trace;
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const constants_1 = require("../constants");
4
- const uuid_1 = require("uuid");
5
- const utils_1 = require("../utils");
6
- class Trace {
7
- static trace(req, res, next) {
8
- let cid = (0, uuid_1.v4)();
9
- try {
10
- if (req.headers[constants_1.HEADERS.X_CORRELATION_ID]) {
11
- cid = req.headers[constants_1.HEADERS.X_CORRELATION_ID];
12
- }
13
- else {
14
- req.headers[constants_1.HEADERS.X_CORRELATION_ID] = cid;
15
- }
16
- }
17
- catch (error) {
18
- console.log(error);
19
- }
20
- finally {
21
- utils_1.Trace.setCID(cid);
22
- return next();
23
- }
24
- }
25
- }
26
- exports.default = Trace;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../constants");
4
+ const uuid_1 = require("uuid");
5
+ const utils_1 = require("../utils");
6
+ class Trace {
7
+ static trace(req, res, next) {
8
+ let cid = (0, uuid_1.v4)();
9
+ try {
10
+ if (req.headers[constants_1.HEADERS.X_CORRELATION_ID]) {
11
+ cid = req.headers[constants_1.HEADERS.X_CORRELATION_ID];
12
+ }
13
+ else {
14
+ req.headers[constants_1.HEADERS.X_CORRELATION_ID] = cid;
15
+ }
16
+ }
17
+ catch (error) {
18
+ console.log(error);
19
+ }
20
+ finally {
21
+ utils_1.Trace.setCID(cid);
22
+ return next();
23
+ }
24
+ }
25
+ }
26
+ exports.default = Trace;
27
27
  //# sourceMappingURL=trace.js.map
package/dist/otel.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/dist/otel.js CHANGED
@@ -1,87 +1,89 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
27
- const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
28
- const resources_1 = require("@opentelemetry/resources");
29
- const opentelemetry = __importStar(require("@opentelemetry/sdk-node"));
30
- const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
31
- const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
32
- const api_1 = require("@opentelemetry/api");
33
- const TRACE_SERVER_URL = process.env['TRACE_SERVER_URL'];
34
- const TRACE_TAG_SERVICENAME = process.env['TRACE_TAG_SERVICENAME'] || '';
35
- const TRACE_TAG_SCOPE = process.env['TRACE_TAG_SCOPE'] || '';
36
- const TRACE_TAG_ENV = process.env['TRACE_TAG_ENV'] || '';
37
- const TRACE_TAG_CLUSTER = process.env['TRACE_TAG_CLUSTER'] || '';
38
- const TRACE_TAG_TENANT = process.env['TRACE_TAG_TENANT'] || '';
39
- const TRACE_TAG_SERVICE = process.env['TRACE_TAG_SERVICE'] || '';
40
- const TRACE_TAG_VERSION = process.env['TRACE_TAG_VERSION'] || '';
41
- const TRACE_TAG_OWNER = process.env['TRACE_TAG_OWNER'] || '';
42
- api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.INFO);
43
- if (TRACE_SERVER_URL) {
44
- const collectorOptions = {
45
- url: `https://${TRACE_SERVER_URL}/v1/traces`,
46
- concurrencyLimit: 10,
47
- };
48
- const addEnvAttributes = (span) => {
49
- span.setAttributes({
50
- ['SCOPE']: TRACE_TAG_SCOPE,
51
- ['ENV']: TRACE_TAG_ENV,
52
- ['CLUSTER']: TRACE_TAG_CLUSTER,
53
- ['TENANT']: TRACE_TAG_TENANT,
54
- ['SERVICE']: TRACE_TAG_SERVICE,
55
- ['VERSION']: TRACE_TAG_VERSION,
56
- ['OWNER']: TRACE_TAG_OWNER,
57
- ['SERVICENAME']: TRACE_TAG_SERVICENAME,
58
- });
59
- };
60
- const resource = resources_1.Resource.default().merge(new resources_1.Resource({
61
- [semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: TRACE_TAG_ENV,
62
- [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: TRACE_TAG_SERVICE,
63
- [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAMESPACE]: TRACE_TAG_SERVICENAME,
64
- }));
65
- const traceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter(collectorOptions);
66
- const sdk = new opentelemetry.NodeSDK({
67
- resource,
68
- traceExporter,
69
- instrumentations: [new instrumentation_http_1.HttpInstrumentation({
70
- applyCustomAttributesOnSpan: addEnvAttributes,
71
- }), new instrumentation_express_1.ExpressInstrumentation({
72
- requestHook: addEnvAttributes,
73
- })],
74
- });
75
- sdk
76
- .start()
77
- .then(() => console.log(`Tracing initialized: ${TRACE_TAG_SERVICENAME} shipping to ${TRACE_SERVER_URL}`))
78
- .catch((error) => console.log("Error initializing tracing", error));
79
- process.on("SIGTERM", () => {
80
- sdk
81
- .shutdown()
82
- .then(() => console.log("Tracing terminated"))
83
- .catch((error) => console.log("Error terminating tracing", error))
84
- .finally(() => process.exit(0));
85
- });
86
- }
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
27
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
28
+ const resources_1 = require("@opentelemetry/resources");
29
+ const opentelemetry = __importStar(require("@opentelemetry/sdk-node"));
30
+ const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
31
+ const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
32
+ const api_1 = require("@opentelemetry/api");
33
+ const TRACE_SERVER_URL = process.env['TRACE_SERVER_URL'];
34
+ const TRACE_TAG_SERVICENAME = process.env['TRACE_TAG_SERVICENAME'] || '';
35
+ const TRACE_TAG_SCOPE = process.env['TRACE_TAG_SCOPE'] || '';
36
+ const TRACE_TAG_ENV = process.env['TRACE_TAG_ENV'] || '';
37
+ const TRACE_TAG_CLUSTER = process.env['TRACE_TAG_CLUSTER'] || '';
38
+ const TRACE_TAG_TENANT = process.env['TRACE_TAG_TENANT'] || '';
39
+ const TRACE_TAG_SERVICE = process.env['TRACE_TAG_SERVICE'] || '';
40
+ const TRACE_TAG_VERSION = process.env['TRACE_TAG_VERSION'] || '';
41
+ const TRACE_TAG_OWNER = process.env['TRACE_TAG_OWNER'] || '';
42
+ console.log('AQUIII');
43
+ api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.INFO);
44
+ console.log('EXECUTOU', TRACE_SERVER_URL);
45
+ if (TRACE_SERVER_URL) {
46
+ const collectorOptions = {
47
+ url: `https://${TRACE_SERVER_URL}/v1/traces`,
48
+ concurrencyLimit: 10,
49
+ };
50
+ const addEnvAttributes = (span) => {
51
+ span.setAttributes({
52
+ ['SCOPE']: TRACE_TAG_SCOPE,
53
+ ['ENV']: TRACE_TAG_ENV,
54
+ ['CLUSTER']: TRACE_TAG_CLUSTER,
55
+ ['TENANT']: TRACE_TAG_TENANT,
56
+ ['SERVICE']: TRACE_TAG_SERVICE,
57
+ ['VERSION']: TRACE_TAG_VERSION,
58
+ ['OWNER']: TRACE_TAG_OWNER,
59
+ ['SERVICENAME']: TRACE_TAG_SERVICENAME,
60
+ });
61
+ };
62
+ const resource = resources_1.Resource.default().merge(new resources_1.Resource({
63
+ [semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: TRACE_TAG_ENV,
64
+ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: TRACE_TAG_SERVICE,
65
+ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAMESPACE]: TRACE_TAG_SERVICENAME,
66
+ }));
67
+ const traceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter(collectorOptions);
68
+ const sdk = new opentelemetry.NodeSDK({
69
+ resource,
70
+ traceExporter,
71
+ instrumentations: [new instrumentation_http_1.HttpInstrumentation({
72
+ applyCustomAttributesOnSpan: addEnvAttributes,
73
+ }), new instrumentation_express_1.ExpressInstrumentation({
74
+ requestHook: addEnvAttributes,
75
+ })],
76
+ });
77
+ sdk
78
+ .start()
79
+ .then(() => console.log(`Tracing initialized: ${TRACE_TAG_SERVICENAME} shipping to ${TRACE_SERVER_URL}`))
80
+ .catch((error) => console.log("Error initializing tracing", error));
81
+ process.on("SIGTERM", () => {
82
+ sdk
83
+ .shutdown()
84
+ .then(() => console.log("Tracing terminated"))
85
+ .catch((error) => console.log("Error terminating tracing", error))
86
+ .finally(() => process.exit(0));
87
+ });
88
+ }
87
89
  //# sourceMappingURL=otel.js.map
package/dist/otel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- declare class APM {
2
- private serverUrl;
3
- private scope;
4
- private environment;
5
- private cluster;
6
- private tenant;
7
- private service;
8
- private version;
9
- private owner;
10
- private serviceName;
11
- constructor(serverUrl?: string, scope?: string, environment?: string, cluster?: string, tenant?: string, service?: string, version?: string, owner?: string, serviceName?: string);
12
- startTrace(): void;
13
- }
14
- export default APM;
1
+ declare class APM {
2
+ private serverUrl;
3
+ private scope;
4
+ private environment;
5
+ private cluster;
6
+ private tenant;
7
+ private service;
8
+ private version;
9
+ private owner;
10
+ private serviceName;
11
+ constructor(serverUrl?: string, scope?: string, environment?: string, cluster?: string, tenant?: string, service?: string, version?: string, owner?: string, serviceName?: string);
12
+ startTrace(): void;
13
+ }
14
+ export default APM;
@@ -1,58 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const config_1 = require("@edirect/config");
4
- const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
5
- const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
6
- const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
7
- const resources_1 = require("@opentelemetry/resources");
8
- const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
9
- const instrumentation_1 = require("@opentelemetry/instrumentation");
10
- const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
11
- const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
12
- const config = new config_1.ConfigService(`.${process.env.NODE_ENV || 'development'}.env`);
13
- const env = config.getConfig();
14
- const TRACE_SERVER_URL = env['TRACE_SERVER_URL'];
15
- const TRACE_TAG_SCOPE = env['TRACE_TAG_SCOPE'] || '';
16
- const TRACE_TAG_ENV = env['TRACE_TAG_ENV'] || '';
17
- const TRACE_TAG_CLUSTER = env['TRACE_TAG_CLUSTER'] || '';
18
- const TRACE_TAG_TENANT = env['TRACE_TAG_TENANT'] || '';
19
- const TRACE_TAG_SERVICE = env['TRACE_TAG_SERVICE'] || '';
20
- const TRACE_TAG_VERSION = env['TRACE_TAG_VERSION'] || '';
21
- const TRACE_TAG_OWNER = env['TRACE_TAG_OWNER'] || '';
22
- const TRACE_TAG_SERVICENAME = env['TRACE_TAG_SERVICENAME'] || '';
23
- class APM {
24
- constructor(serverUrl = TRACE_SERVER_URL, scope = TRACE_TAG_SCOPE, environment = TRACE_TAG_ENV, cluster = TRACE_TAG_CLUSTER, tenant = TRACE_TAG_TENANT, service = TRACE_TAG_SERVICE, version = TRACE_TAG_VERSION, owner = TRACE_TAG_OWNER, serviceName = TRACE_TAG_SERVICENAME) {
25
- this.serverUrl = serverUrl;
26
- this.scope = scope;
27
- this.environment = environment;
28
- this.cluster = cluster;
29
- this.tenant = tenant;
30
- this.service = service;
31
- this.version = version;
32
- this.owner = owner;
33
- this.serviceName = serviceName;
34
- }
35
- startTrace() {
36
- if (!this.serverUrl)
37
- return;
38
- const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({ url: `https://${this.serverUrl}/v1/traces` });
39
- const provider = new sdk_trace_node_1.NodeTracerProvider({
40
- resource: new resources_1.Resource(Object.assign({ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: this.serviceName }, { ['SCOPE']: this.scope, ['ENV']: this.environment, ['CLUSTER']: this.cluster, ['TENANT']: this.tenant, ['SERVICE']: this.service, ['VERSION']: this.version, ['OWNER']: this.owner, ['SERVICENAME']: this.serviceName })),
41
- });
42
- provider.addSpanProcessor(new sdk_trace_base_1.BatchSpanProcessor(exporter));
43
- provider.register();
44
- (0, instrumentation_1.registerInstrumentations)({
45
- instrumentations: [
46
- new instrumentation_http_1.HttpInstrumentation({
47
- ignoreIncomingPaths: ['/healthcheck', 'healthcheck'],
48
- }),
49
- new instrumentation_express_1.ExpressInstrumentation({
50
- ignoreLayers: ['/healthcheck', 'healthcheck'],
51
- }),
52
- ],
53
- });
54
- return;
55
- }
56
- }
57
- exports.default = APM;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("@edirect/config");
4
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
5
+ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
6
+ const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
7
+ const resources_1 = require("@opentelemetry/resources");
8
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
9
+ const instrumentation_1 = require("@opentelemetry/instrumentation");
10
+ const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
11
+ const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
12
+ const config = new config_1.ConfigService(`.${process.env.NODE_ENV || 'development'}.env`);
13
+ const env = config.getConfig();
14
+ const TRACE_SERVER_URL = env['TRACE_SERVER_URL'];
15
+ const TRACE_TAG_SCOPE = env['TRACE_TAG_SCOPE'] || '';
16
+ const TRACE_TAG_ENV = env['TRACE_TAG_ENV'] || '';
17
+ const TRACE_TAG_CLUSTER = env['TRACE_TAG_CLUSTER'] || '';
18
+ const TRACE_TAG_TENANT = env['TRACE_TAG_TENANT'] || '';
19
+ const TRACE_TAG_SERVICE = env['TRACE_TAG_SERVICE'] || '';
20
+ const TRACE_TAG_VERSION = env['TRACE_TAG_VERSION'] || '';
21
+ const TRACE_TAG_OWNER = env['TRACE_TAG_OWNER'] || '';
22
+ const TRACE_TAG_SERVICENAME = env['TRACE_TAG_SERVICENAME'] || '';
23
+ class APM {
24
+ constructor(serverUrl = TRACE_SERVER_URL, scope = TRACE_TAG_SCOPE, environment = TRACE_TAG_ENV, cluster = TRACE_TAG_CLUSTER, tenant = TRACE_TAG_TENANT, service = TRACE_TAG_SERVICE, version = TRACE_TAG_VERSION, owner = TRACE_TAG_OWNER, serviceName = TRACE_TAG_SERVICENAME) {
25
+ this.serverUrl = serverUrl;
26
+ this.scope = scope;
27
+ this.environment = environment;
28
+ this.cluster = cluster;
29
+ this.tenant = tenant;
30
+ this.service = service;
31
+ this.version = version;
32
+ this.owner = owner;
33
+ this.serviceName = serviceName;
34
+ }
35
+ startTrace() {
36
+ if (!this.serverUrl)
37
+ return;
38
+ const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({ url: `https://${this.serverUrl}/v1/traces` });
39
+ const provider = new sdk_trace_node_1.NodeTracerProvider({
40
+ resource: new resources_1.Resource(Object.assign({ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: this.serviceName }, { ['SCOPE']: this.scope, ['ENV']: this.environment, ['CLUSTER']: this.cluster, ['TENANT']: this.tenant, ['SERVICE']: this.service, ['VERSION']: this.version, ['OWNER']: this.owner, ['SERVICENAME']: this.serviceName })),
41
+ });
42
+ provider.addSpanProcessor(new sdk_trace_base_1.BatchSpanProcessor(exporter));
43
+ provider.register();
44
+ (0, instrumentation_1.registerInstrumentations)({
45
+ instrumentations: [
46
+ new instrumentation_http_1.HttpInstrumentation({
47
+ ignoreIncomingPaths: ['/healthcheck', 'healthcheck'],
48
+ }),
49
+ new instrumentation_express_1.ExpressInstrumentation({
50
+ ignoreLayers: ['/healthcheck', 'healthcheck'],
51
+ }),
52
+ ],
53
+ });
54
+ return;
55
+ }
56
+ }
57
+ exports.default = APM;
58
58
  //# sourceMappingURL=APM.js.map
@@ -1 +1 @@
1
- export { default as APM } from './APM';
1
+ export { default as APM } from './APM';
@@ -1,9 +1,9 @@
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.APM = void 0;
7
- var APM_1 = require("./APM");
8
- Object.defineProperty(exports, "APM", { enumerable: true, get: function () { return __importDefault(APM_1).default; } });
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.APM = void 0;
7
+ var APM_1 = require("./APM");
8
+ Object.defineProperty(exports, "APM", { enumerable: true, get: function () { return __importDefault(APM_1).default; } });
9
9
  //# sourceMappingURL=index.js.map