@edirect/trace 9.0.46 → 11.0.25

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 (57) hide show
  1. package/README.md +222 -206
  2. package/dist/README.md +381 -0
  3. package/dist/package.json +44 -0
  4. package/package.json +58 -33
  5. package/.editorconfig +0 -14
  6. package/.eslintignore +0 -1
  7. package/.eslintrc.js +0 -44
  8. package/.eslintrc.json +0 -159
  9. package/.prettierrc +0 -5
  10. package/dist/constants/headers.d.ts +0 -4
  11. package/dist/constants/headers.js +0 -6
  12. package/dist/constants/headers.js.map +0 -1
  13. package/dist/constants/index.d.ts +0 -1
  14. package/dist/constants/index.js +0 -9
  15. package/dist/constants/index.js.map +0 -1
  16. package/dist/index.d.ts +0 -3
  17. package/dist/index.js +0 -32
  18. package/dist/index.js.map +0 -1
  19. package/dist/middlewares/CLS.d.ts +0 -5
  20. package/dist/middlewares/CLS.js +0 -34
  21. package/dist/middlewares/CLS.js.map +0 -1
  22. package/dist/middlewares/body.d.ts +0 -5
  23. package/dist/middlewares/body.js +0 -104
  24. package/dist/middlewares/body.js.map +0 -1
  25. package/dist/middlewares/index.d.ts +0 -4
  26. package/dist/middlewares/index.js +0 -15
  27. package/dist/middlewares/index.js.map +0 -1
  28. package/dist/middlewares/nextjs.d.ts +0 -5
  29. package/dist/middlewares/nextjs.js +0 -35
  30. package/dist/middlewares/nextjs.js.map +0 -1
  31. package/dist/middlewares/trace.d.ts +0 -5
  32. package/dist/middlewares/trace.js +0 -27
  33. package/dist/middlewares/trace.js.map +0 -1
  34. package/dist/otel.d.ts +0 -1
  35. package/dist/otel.js +0 -194
  36. package/dist/otel.js.map +0 -1
  37. package/dist/tsconfig.build.tsbuildinfo +0 -1
  38. package/dist/utils/CLS.d.ts +0 -5
  39. package/dist/utils/CLS.js +0 -42
  40. package/dist/utils/CLS.js.map +0 -1
  41. package/dist/utils/body-prop-tools.d.ts +0 -15
  42. package/dist/utils/body-prop-tools.js +0 -87
  43. package/dist/utils/body-prop-tools.js.map +0 -1
  44. package/dist/utils/index.d.ts +0 -3
  45. package/dist/utils/index.js +0 -13
  46. package/dist/utils/index.js.map +0 -1
  47. package/dist/utils/json-path.d.ts +0 -9
  48. package/dist/utils/json-path.js +0 -33
  49. package/dist/utils/json-path.js.map +0 -1
  50. package/dist/utils/trace.d.ts +0 -5
  51. package/dist/utils/trace.js +0 -13
  52. package/dist/utils/trace.js.map +0 -1
  53. package/dist/version.d.ts +0 -1
  54. package/dist/version.js +0 -5
  55. package/dist/version.js.map +0 -1
  56. package/docs/architecture.png +0 -0
  57. package/tsconfig.build.json +0 -9
package/.eslintrc.json DELETED
@@ -1,159 +0,0 @@
1
- {
2
- "extends": [
3
- "standard",
4
- "plugin:node/recommended",
5
- "plugin:promise/recommended",
6
- "plugin:import/errors",
7
- "plugin:import/warnings"
8
- ],
9
- "plugins": [
10
- "standard"
11
- ],
12
- "rules": {
13
- "camelcase": [
14
- 0
15
- ],
16
- "indent": [
17
- 2,
18
- 2,
19
- {
20
- "SwitchCase": 2
21
- }
22
- ],
23
- "object-curly-spacing": [
24
- "error",
25
- "always"
26
- ],
27
- "array-bracket-spacing": [
28
- "error",
29
- "always"
30
- ],
31
- "eqeqeq": [
32
- "error",
33
- "always"
34
- ],
35
- "no-else-return": [
36
- "error",
37
- {
38
- "allowElseIf": false
39
- }
40
- ],
41
- "no-multi-spaces": "error",
42
- "no-new-wrappers": "error",
43
- "no-redeclare": "error",
44
- "no-undef-init": "error",
45
- "no-unused-vars": "error",
46
- "no-use-before-define": [
47
- "error",
48
- {
49
- "functions": false
50
- }
51
- ],
52
- "comma-dangle": [
53
- "error",
54
- "never"
55
- ],
56
- "comma-spacing": [
57
- "error",
58
- {
59
- "before": false,
60
- "after": true
61
- }
62
- ],
63
- "comma-style": [
64
- "error",
65
- "last"
66
- ],
67
- "no-implied-eval": "error",
68
- "no-mixed-operators": "off",
69
- "node/exports-style": [
70
- "error",
71
- "module.exports"
72
- ],
73
- "node/no-unpublished-require": "off",
74
- "promise/no-callback-in-promise": "off",
75
- "promise/no-nesting": "off",
76
- "max-len": [
77
- "error",
78
- {
79
- "code": 120,
80
- "tabWidth": 2,
81
- "comments": 100,
82
- "ignoreTrailingComments": true,
83
- "ignoreUrls": true,
84
- "ignoreStrings": true,
85
- "ignoreTemplateLiterals": true,
86
- "ignoreRegExpLiterals": true
87
- }
88
- ],
89
- "max-lines": [
90
- "error",
91
- {
92
- "max": 350,
93
- "skipBlankLines": true,
94
- "skipComments": true
95
- }
96
- ],
97
- "complexity": [
98
- "error",
99
- {
100
- "max": 20
101
- }
102
- ],
103
- "prefer-arrow-callback": [
104
- "error",
105
- {
106
- "allowNamedFunctions": false,
107
- "allowUnboundThis": true
108
- }
109
- ],
110
- "arrow-parens": [
111
- 2,
112
- "as-needed"
113
- ],
114
- "dot-notation": [
115
- "error",
116
- {
117
- "allowKeywords": true
118
- }
119
- ],
120
- "require-atomic-updates": "error",
121
- "no-regex-spaces": "error",
122
- "no-template-curly-in-string": "error",
123
- "no-unreachable": "error",
124
- "no-return-await": "error",
125
- "no-return-assign": "error",
126
- "no-unused-expressions": "error",
127
- "no-useless-return": "error",
128
- "no-throw-literal": "error",
129
- "handle-callback-err": "error",
130
- "key-spacing": [
131
- "error",
132
- {
133
- "beforeColon": false,
134
- "afterColon": true,
135
- "mode": "strict"
136
- }
137
- ],
138
- "linebreak-style": [
139
- "error",
140
- "unix"
141
- ],
142
- "no-trailing-spaces": "error",
143
- "no-whitespace-before-property": "error",
144
- "no-unneeded-ternary": "error",
145
- "prefer-object-spread": "error",
146
- "array-callback-return": "error",
147
- "arrow-body-style": [
148
- "error",
149
- "as-needed"
150
- ],
151
- "semi": [
152
- "error",
153
- "always"
154
- ]
155
- },
156
- "globals": {
157
- "logs": true
158
- }
159
- }
package/.prettierrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "tabWidth": 2,
4
- "trailingComma": "all"
5
- }
@@ -1,4 +0,0 @@
1
- declare const _default: {
2
- X_CORRELATION_ID: string;
3
- };
4
- export default _default;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- X_CORRELATION_ID: 'x-correlation-id',
5
- };
6
- //# sourceMappingURL=headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/constants/headers.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,gBAAgB,EAAE,kBAAkB;CACrC,CAAC"}
@@ -1 +0,0 @@
1
- export { default as HEADERS } from './headers';
@@ -1,9 +0,0 @@
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.HEADERS = void 0;
7
- var headers_1 = require("./headers");
8
- Object.defineProperty(exports, "HEADERS", { enumerable: true, get: function () { return __importDefault(headers_1).default; } });
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+C;AAAtC,mHAAA,OAAO,OAAW"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * as middlewares from './middlewares';
2
- export * as utils from './utils';
3
- export * as constants from './constants';
package/dist/index.js DELETED
@@ -1,32 +0,0 @@
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
- exports.constants = exports.utils = exports.middlewares = void 0;
27
- const version_1 = require("./version");
28
- exports.middlewares = __importStar(require("./middlewares"));
29
- exports.utils = __importStar(require("./utils"));
30
- exports.constants = __importStar(require("./constants"));
31
- console.log(`Edirect Trace Version: ${version_1.LIB_VERSION}`);
32
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwC;AAExC,6DAA6C;AAC7C,iDAAiC;AACjC,yDAAyC;AAEzC,OAAO,CAAC,GAAG,CAAC,0BAA0B,qBAAW,EAAE,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- declare class CLS {
3
- static middleware(req: Request, res: Response, next: NextFunction): void;
4
- }
5
- export default CLS;
@@ -1,34 +0,0 @@
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 cls = __importStar(require("cls-hooked"));
27
- class CLS {
28
- static middleware(req, res, next) {
29
- const nameSpace = cls.createNamespace('trace');
30
- nameSpace.run(() => next());
31
- }
32
- }
33
- exports.default = CLS;
34
- //# sourceMappingURL=CLS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CLS.js","sourceRoot":"","sources":["../../src/middlewares/CLS.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAGlC,MAAM,GAAG;IAOP,MAAM,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,kBAAe,GAAG,CAAC"}
@@ -1,5 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- declare class Body {
3
- body: (req: Request, res: Response, next: NextFunction) => void;
4
- }
5
- export default Body;
@@ -1,104 +0,0 @@
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 url_1 = __importDefault(require("url"));
8
- const body_prop_tools_1 = __importDefault(require("../utils/body-prop-tools"));
9
- class Body {
10
- body = (req, res, next) => {
11
- let responseBody;
12
- try {
13
- let oldBodyJson = res.json;
14
- res.json = (body) => {
15
- responseBody = body;
16
- return oldBodyJson.call(res, body);
17
- };
18
- }
19
- catch (error) {
20
- const span = api_1.default.trace.getSpan(api_1.default.context.active());
21
- if (span) {
22
- span.setAttribute('exception.source.response.body', 'otel');
23
- span.recordException(error);
24
- }
25
- }
26
- next();
27
- try {
28
- const TRACE_SERVER_URL = process.env['TRACE_SERVER_URL'];
29
- if (!TRACE_SERVER_URL) {
30
- return;
31
- }
32
- let span = api_1.default.trace.getSpan(api_1.default.context.active());
33
- const url = req?.originalUrl?.split('?')?.shift() || '';
34
- if (!span)
35
- span = api_1.default.trace
36
- .getTracer('edirect/trace', '1')
37
- .startSpan(url);
38
- if (req) {
39
- const attrs = body_prop_tools_1.default.recursiveProps(req.body, "http@request@body");
40
- for (const item of attrs) {
41
- span.setAttribute(item.key, JSON.stringify(item.value));
42
- }
43
- const params = req.params;
44
- for (const p in params) {
45
- if (Object.prototype.hasOwnProperty.call(params, p)) {
46
- const element = params[p];
47
- span.setAttribute(`http@request@params.${p}`, JSON.stringify(element));
48
- }
49
- }
50
- const query = req.query;
51
- for (const q in query) {
52
- if (Object.prototype.hasOwnProperty.call(query, q)) {
53
- const element = query[q];
54
- span.setAttribute(`http@request@query.${q}`, JSON.stringify(element));
55
- }
56
- }
57
- if (req.originalUrl) {
58
- const parsedUrl = url_1.default.parse(req.originalUrl);
59
- if (parsedUrl.query) {
60
- const queryFromUrl = new URLSearchParams(parsedUrl.query).entries();
61
- for (const q of queryFromUrl) {
62
- span.setAttribute(`http@request@query.${q[0]}`, JSON.stringify(q[1]));
63
- }
64
- }
65
- }
66
- if (req.headers) {
67
- for (const q of Object.entries(req.headers)) {
68
- span.setAttribute(`http@request@header.${q[0]}`, JSON.stringify(q[1]));
69
- }
70
- }
71
- }
72
- }
73
- catch (error) {
74
- const span = api_1.default.trace.getSpan(api_1.default.context.active());
75
- if (span) {
76
- span.setAttribute('exception.source.request', 'otel');
77
- span.recordException(error);
78
- }
79
- }
80
- try {
81
- let span = api_1.default.trace.getSpan(api_1.default.context.active());
82
- if (res) {
83
- if (res.getHeaders()) {
84
- for (const q of Object.entries(res.getHeaders())) {
85
- span.setAttribute(`http@response@header.${q[0]}`, JSON.stringify(q[1]));
86
- }
87
- }
88
- const attrs = body_prop_tools_1.default.recursiveProps(responseBody, "http@response@body");
89
- for (const item of attrs) {
90
- span.setAttribute(item.key, JSON.stringify(item.value));
91
- }
92
- }
93
- }
94
- catch (error) {
95
- const span = api_1.default.trace.getSpan(api_1.default.context.active());
96
- if (span) {
97
- span.setAttribute('exception.source.response', 'otel');
98
- span.recordException(error);
99
- }
100
- }
101
- };
102
- }
103
- exports.default = Body;
104
- //# sourceMappingURL=body.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/middlewares/body.ts"],"names":[],"mappings":";;;;;AACA,6DAA+C;AAC/C,8CAA4B;AAE5B,+EAAqD;AACrD,MAAM,IAAI;IAOD,IAAI,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QACtE,IAAI,YAAY,CAAC;QAEjB,IAAG;YACC,IAAI,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;gBAChB,YAAY,GAAG,IAAI,CAAC;gBACpB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC,CAAC;SACL;QAAA,OAAO,KAAK,EAAE;YACX,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,IAAG,IAAI,EAAC;gBACN,IAAI,CAAC,YAAY,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;gBAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;SACJ;QAED,IAAI,EAAE,CAAC;QAEP,IAAI;YAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEzD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,MAAM,GAAG,GAAG,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI;gBACP,IAAI,GAAG,aAAa,CAAC,KAAK;qBACvB,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC;qBAC/B,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,IAAG,GAAG,EAAC;gBACL,MAAM,KAAK,GAAG,yBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACzD;gBAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;oBACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;wBACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;qBACxE;iBACF;gBACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;oBACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;wBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;qBACvE;iBACF;gBAED,IAAI,GAAG,CAAC,WAAW,EAAE;oBACnB,MAAM,SAAS,GAAG,aAAS,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACnD,IAAI,SAAS,CAAC,KAAK,EAAE;wBACnB,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;wBACpE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;4BAC1B,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACzE;qBACF;iBACF;gBAED,IAAG,GAAG,CAAC,OAAO,EAAC;oBACb,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBAC3C,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxE;iBACF;aACF;SAEJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,IAAG,IAAI,EAAC;gBACN,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;SACF;QAED,IAAG;YACD,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAG,GAAG,EAAC;gBACL,IAAG,GAAG,CAAC,UAAU,EAAE,EAAC;oBAClB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE;wBAChD,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzE;iBACF;gBAED,MAAM,KAAK,GAAG,yBAAa,CAAC,cAAc,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACzD;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,IAAG,IAAI,EAAC;gBACN,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;SACF;IACH,CAAC,CAAA;CACF;AAED,kBAAe,IAAI,CAAC"}
@@ -1,4 +0,0 @@
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,15 +0,0 @@
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; } });
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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,mCAA6C;AAApC,iHAAA,OAAO,OAAU"}
@@ -1,5 +0,0 @@
1
- type NextRequest = Request & Record<string, unknown>;
2
- declare class NextJs {
3
- body: (request: NextRequest) => void;
4
- }
5
- export default NextJs;
@@ -1,35 +0,0 @@
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
- body = (request) => {
10
- if (!request)
11
- return;
12
- try {
13
- const TRACE_SERVER_URL = process.env['TRACE_SERVER_URL'];
14
- if (!TRACE_SERVER_URL)
15
- return;
16
- const url = request?.url?.split('?')?.shift() || '';
17
- let span = api_1.default.trace.getSpan(api_1.default.context.active());
18
- if (!span)
19
- span = api_1.default.trace
20
- .getTracer('edirect/trace', '1')
21
- .startSpan(url);
22
- const attrs = body_prop_tools_1.default.propertiesToArray(request.body || {});
23
- for (let x = 0; x < attrs.length; x++) {
24
- span.setAttribute(`http@body.${attrs[x]}`, body_prop_tools_1.default.getValue(attrs[x], request.body || {}));
25
- }
26
- }
27
- catch (error) {
28
- const span = api_1.default.trace.getSpan(api_1.default.context.active());
29
- span.setAttribute('exception.source', 'otel');
30
- span.recordException(error);
31
- }
32
- };
33
- }
34
- exports.default = NextJs;
35
- //# sourceMappingURL=nextjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/middlewares/nextjs.ts"],"names":[],"mappings":";;;;;AAAA,6DAA+C;AAE/C,+EAAqD;AAIrD,MAAM,MAAM;IACH,IAAI,GAAG,CAAC,OAAoB,EAAQ,EAAE;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI;YACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEzD,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YAE9B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACpD,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvE,IAAI,CAAC,IAAI;gBACP,IAAI,GAAG,aAAa,CAAC,KAAK;qBACvB,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC;qBAC/B,SAAS,CAAC,GAAG,CAAC,CAAC;YAEpB,MAAM,KAAK,GAAG,yBAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,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;aACH;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC;CACH;AAED,kBAAe,MAAM,CAAC"}
@@ -1,5 +0,0 @@
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 +0,0 @@
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
- //# sourceMappingURL=trace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/middlewares/trace.ts"],"names":[],"mappings":";;AAAA,4CAAuC;AACvC,+BAAkC;AAClC,oCAAyC;AAGzC,MAAM,KAAK;IAOT,MAAM,CAAC,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC1D,IAAI,GAAG,GAAG,IAAA,SAAI,GAAE,CAAC;QACjB,IAAI;YACF,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAO,CAAC,gBAAgB,CAAC,EAAE;gBACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAO,CAAC,gBAAgB,CAAC,CAAC;aAC7C;iBAAM;gBACL,GAAG,CAAC,OAAO,CAAC,mBAAO,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;aAC7C;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;gBAAS;YACR,aAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,EAAE,CAAC;SACf;IACH,CAAC;CACF;AAED,kBAAe,KAAK,CAAC"}
package/dist/otel.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};