@edirect/trace 10.0.0 → 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.
- package/README.md +222 -206
- package/dist/README.md +381 -0
- package/dist/package.json +44 -0
- package/package.json +56 -31
- package/.editorconfig +0 -14
- package/.eslintignore +0 -1
- package/.eslintrc.js +0 -44
- package/.eslintrc.json +0 -159
- package/.prettierrc +0 -5
- package/dist/constants/headers.d.ts +0 -4
- package/dist/constants/headers.js +0 -6
- package/dist/constants/headers.js.map +0 -1
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/index.js +0 -9
- package/dist/constants/index.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -32
- package/dist/index.js.map +0 -1
- package/dist/middlewares/CLS.d.ts +0 -5
- package/dist/middlewares/CLS.js +0 -34
- package/dist/middlewares/CLS.js.map +0 -1
- package/dist/middlewares/body.d.ts +0 -5
- package/dist/middlewares/body.js +0 -104
- package/dist/middlewares/body.js.map +0 -1
- package/dist/middlewares/index.d.ts +0 -4
- package/dist/middlewares/index.js +0 -15
- package/dist/middlewares/index.js.map +0 -1
- package/dist/middlewares/nextjs.d.ts +0 -5
- package/dist/middlewares/nextjs.js +0 -35
- package/dist/middlewares/nextjs.js.map +0 -1
- package/dist/middlewares/trace.d.ts +0 -5
- package/dist/middlewares/trace.js +0 -27
- package/dist/middlewares/trace.js.map +0 -1
- package/dist/otel.d.ts +0 -1
- package/dist/otel.js +0 -194
- package/dist/otel.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/utils/CLS.d.ts +0 -5
- package/dist/utils/CLS.js +0 -42
- package/dist/utils/CLS.js.map +0 -1
- package/dist/utils/body-prop-tools.d.ts +0 -15
- package/dist/utils/body-prop-tools.js +0 -87
- package/dist/utils/body-prop-tools.js.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.js +0 -13
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/json-path.d.ts +0 -9
- package/dist/utils/json-path.js +0 -33
- package/dist/utils/json-path.js.map +0 -1
- package/dist/utils/trace.d.ts +0 -5
- package/dist/utils/trace.js +0 -13
- package/dist/utils/trace.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -5
- package/dist/version.js.map +0 -1
- package/docs/architecture.png +0 -0
- 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 +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';
|
package/dist/constants/index.js
DELETED
|
@@ -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
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"}
|
package/dist/middlewares/CLS.js
DELETED
|
@@ -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"}
|
package/dist/middlewares/body.js
DELETED
|
@@ -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":"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"}
|
|
@@ -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,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,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,CAAW,CAAC;aACvD;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 {};
|