@yolo-croket-dev/core 1.9.7-slowquery.9 → 1.9.7
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/decorators/grpc-param.decorator.d.ts +1 -0
- package/decorators/grpc-param.decorator.js +12 -0
- package/decorators/index.d.ts +1 -0
- package/decorators/index.js +1 -0
- package/interceptors/logging-service.interceptor.js +13 -50
- package/package.json +1 -1
- package/util.d.ts +2 -0
- package/util.js +7 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GrpcParam: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrpcParam = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
exports.GrpcParam = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
6
|
+
const metadata = ctx.switchToRpc().getContext();
|
|
7
|
+
const param = metadata.get('param');
|
|
8
|
+
if (!param || !param[0]) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return JSON.parse(param[0]);
|
|
12
|
+
});
|
package/decorators/index.d.ts
CHANGED
package/decorators/index.js
CHANGED
|
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./rpc-interceptor-scope.decorator"), exports);
|
|
18
18
|
__exportStar(require("./rpc-transform.decorator"), exports);
|
|
19
|
+
__exportStar(require("./grpc-param.decorator"), exports);
|
|
@@ -41,12 +41,6 @@ const operators_1 = require("rxjs/operators");
|
|
|
41
41
|
const dd_trace_1 = __importDefault(require("dd-trace"));
|
|
42
42
|
const { SERVER_NAME } = process.env;
|
|
43
43
|
const msaLogger = new msa_logger_1.default(msa_logger_1.ServerTypeEnum.SERVICE);
|
|
44
|
-
// interface IContent {
|
|
45
|
-
// pattern: string;
|
|
46
|
-
// data: IRequest;
|
|
47
|
-
// /** 무슨 아이디인지 모르겠음 */
|
|
48
|
-
// id: string;
|
|
49
|
-
// }
|
|
50
44
|
const MAX_CUT_LENGTH = 500;
|
|
51
45
|
dd_trace_1.default.init();
|
|
52
46
|
let LoggingServiceInterceptor = class LoggingServiceInterceptor {
|
|
@@ -89,24 +83,16 @@ let LoggingServiceInterceptor = class LoggingServiceInterceptor {
|
|
|
89
83
|
const metadata = args[1];
|
|
90
84
|
const isGrpc = !rmqContext.getMessage;
|
|
91
85
|
let param;
|
|
92
|
-
let pastFrom;
|
|
93
|
-
let pastFroms;
|
|
94
86
|
let originalMessage;
|
|
95
87
|
let pattern; /** @xxx: Grpc: path , Mq: 메시지 패턴명 */
|
|
96
88
|
let payload;
|
|
97
|
-
let pastFromForMetadata;
|
|
98
|
-
let pastFromsForMetadata;
|
|
99
|
-
let pastFromForMessage;
|
|
100
|
-
let pastFromsForMessage;
|
|
101
89
|
if (isGrpc) {
|
|
102
|
-
param = metadata.get('param') || {
|
|
90
|
+
param = JSON.parse(metadata.get('param')[0] || {
|
|
103
91
|
param: {
|
|
104
92
|
from: '-',
|
|
105
93
|
froms: '-',
|
|
106
94
|
},
|
|
107
|
-
};
|
|
108
|
-
pastFromForMetadata = metadata.get('from') || '-';
|
|
109
|
-
pastFromsForMetadata = metadata.get('froms') || [pastFrom];
|
|
95
|
+
});
|
|
110
96
|
originalMessage = args[0];
|
|
111
97
|
const gRPCArg = args[2];
|
|
112
98
|
pattern = gRPCArg.path;
|
|
@@ -114,49 +100,26 @@ let LoggingServiceInterceptor = class LoggingServiceInterceptor {
|
|
|
114
100
|
}
|
|
115
101
|
else {
|
|
116
102
|
param = data.param;
|
|
117
|
-
pastFromForMessage = param.from ? JSON.parse(JSON.stringify(param.from)) : '-';
|
|
118
|
-
pastFromsForMessage = param.froms ? JSON.parse(JSON.stringify(param.froms)) : [pastFrom];
|
|
119
103
|
originalMessage = rmqContext.getMessage();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
payload = context.switchToHttp().getRequest().
|
|
124
|
-
}
|
|
125
|
-
// @TODO: 삭제
|
|
126
|
-
if (pastFromForMetadata && pastFromsForMetadata) {
|
|
127
|
-
pastFrom = [
|
|
128
|
-
...(pastFromForMessage || []),
|
|
129
|
-
...(pastFromForMetadata || []),
|
|
130
|
-
];
|
|
131
|
-
pastFroms = [
|
|
132
|
-
...(pastFromsForMessage || []),
|
|
133
|
-
...(pastFromsForMetadata || []),
|
|
134
|
-
];
|
|
135
|
-
}
|
|
136
|
-
else if (pastFromForMessage && pastFromsForMessage) {
|
|
137
|
-
pastFrom = [
|
|
138
|
-
...(pastFromForMetadata || []),
|
|
139
|
-
...(pastFromForMessage || []),
|
|
140
|
-
];
|
|
141
|
-
pastFroms = [
|
|
142
|
-
...(pastFromsForMetadata || []),
|
|
143
|
-
...(pastFromsForMessage || []),
|
|
144
|
-
];
|
|
104
|
+
const originalcontent = originalMessage.content;
|
|
105
|
+
const content = JSON.parse(originalcontent.toString());
|
|
106
|
+
pattern = content.pattern;
|
|
107
|
+
payload = context.switchToHttp().getRequest().payload;
|
|
145
108
|
}
|
|
146
|
-
// const pastFrom = data.param.from ? JSON.parse(JSON.stringify(data.param.from)) : '-';
|
|
147
|
-
// const pastFroms = data.param.froms ? JSON.parse(JSON.stringify(data.param.froms)) : [pastFrom];
|
|
148
|
-
// const originalMessage = rmqContext.getMessage();
|
|
149
|
-
// const ctx = context.switchToHttp();
|
|
150
|
-
// const request = ctx.getRequest() as IRequest;
|
|
151
109
|
const pastParam = JSON.parse(JSON.stringify(param));
|
|
110
|
+
const pastFrom = pastParam.from || '-';
|
|
111
|
+
const pastFroms = pastParam.froms || [pastFrom];
|
|
152
112
|
const traceId = param ? param.traceId : '-';
|
|
153
113
|
/** from 변경 */
|
|
154
114
|
const tmpFrom = `${SERVER_NAME}: ${pattern}`;
|
|
155
115
|
const tmpFroms = JSON.parse(JSON.stringify(pastFroms));
|
|
156
116
|
tmpFroms.push(tmpFrom);
|
|
157
117
|
if (isGrpc) {
|
|
158
|
-
metadata.set('
|
|
159
|
-
|
|
118
|
+
metadata.set('param', JSON.stringify({
|
|
119
|
+
...pastParam,
|
|
120
|
+
from: tmpFrom,
|
|
121
|
+
froms: tmpFroms,
|
|
122
|
+
}));
|
|
160
123
|
}
|
|
161
124
|
else {
|
|
162
125
|
data.param.from = tmpFrom;
|
package/package.json
CHANGED
package/util.d.ts
CHANGED
package/util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateRandom = void 0;
|
|
3
|
+
exports.getPortFromHost = exports.generateRandom = void 0;
|
|
4
4
|
const randomstring_1 = require("randomstring");
|
|
5
5
|
function generateRandom(length, charset) {
|
|
6
6
|
return (0, randomstring_1.generate)({
|
|
@@ -9,3 +9,9 @@ function generateRandom(length, charset) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
exports.generateRandom = generateRandom;
|
|
12
|
+
/** host에서 port를 추출합니다. */
|
|
13
|
+
function getPortFromHost(host) {
|
|
14
|
+
const port = host.split(':')[1];
|
|
15
|
+
return port ? parseInt(port, 10) : undefined;
|
|
16
|
+
}
|
|
17
|
+
exports.getPortFromHost = getPortFromHost;
|