@nestia/e2e 0.5.0-dev.20240617-2 → 0.5.0-dev.20240617-4
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/lib/DynamicBenchmarker.d.ts +25 -2
- package/lib/DynamicBenchmarker.js +24 -1
- package/lib/DynamicBenchmarker.js.map +1 -1
- package/lib/DynamicExecutor.d.ts +11 -6
- package/lib/DynamicExecutor.js +11 -6
- package/lib/DynamicExecutor.js.map +1 -1
- package/package.json +1 -1
- package/src/DynamicBenchmarker.ts +26 -3
- package/src/DynamicExecutor.ts +11 -6
|
@@ -2,6 +2,29 @@ import { IConnection } from "@nestia/fetcher";
|
|
|
2
2
|
import { WorkerServer } from "tgrid";
|
|
3
3
|
import { IBenchmarkMaster } from "./structures/IBenchmarkMaster";
|
|
4
4
|
import { IBenchmarkServant } from "./structures/IBenchmarkServant";
|
|
5
|
+
/**
|
|
6
|
+
* Dynamic benchmark executor running prefixed functions.
|
|
7
|
+
*
|
|
8
|
+
* `DynamicBenchmarker` is composed with two programs,
|
|
9
|
+
* {@link DynamicBenchmarker.master} and
|
|
10
|
+
* {@link DynamicBenchmarker.servant servants}. The master program creates
|
|
11
|
+
* multiple servant programs, and the servant programs execute the prefixed
|
|
12
|
+
* functions in parallel. When the pre-congirued count of requests are all
|
|
13
|
+
* completed, the master program collects the results and returns them.
|
|
14
|
+
*
|
|
15
|
+
* Therefore, when you want to benchmark the performance of a backend server,
|
|
16
|
+
* you have to make two programs; one for calling the
|
|
17
|
+
* {@link DynamicBenchmarker.master} function, and the other for calling the
|
|
18
|
+
* {@link DynamicBenchmarker.servant} function. Also, never forget to write
|
|
19
|
+
* the path of the servant program to the
|
|
20
|
+
* {@link DynamicBenchmarker.IMasterProps.servant} property.
|
|
21
|
+
*
|
|
22
|
+
* When you want to see some utilization cases, see the below example links.
|
|
23
|
+
*
|
|
24
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/benchmaark/index.ts
|
|
25
|
+
* @example https://github.com/samchon/backend/blob/master/test/benchmark/index.ts
|
|
26
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
27
|
+
*/
|
|
5
28
|
export declare namespace DynamicBenchmarker {
|
|
6
29
|
/**
|
|
7
30
|
* Properties of the master program.
|
|
@@ -85,10 +108,10 @@ export declare namespace DynamicBenchmarker {
|
|
|
85
108
|
* {@link IConnection.logger} property of default connection to the
|
|
86
109
|
* returning parameters.
|
|
87
110
|
*
|
|
88
|
-
* @param name Function name
|
|
89
111
|
* @param connection Default connection instance
|
|
112
|
+
* @param name Function name
|
|
90
113
|
*/
|
|
91
|
-
parameters: (
|
|
114
|
+
parameters: (connection: IConnection, name: string) => Parameters;
|
|
92
115
|
}
|
|
93
116
|
interface IReport {
|
|
94
117
|
time: number;
|
|
@@ -113,6 +113,29 @@ exports.DynamicBenchmarker = void 0;
|
|
|
113
113
|
var fs_1 = __importDefault(require("fs"));
|
|
114
114
|
var tgrid_1 = require("tgrid");
|
|
115
115
|
var tstl_1 = require("tstl");
|
|
116
|
+
/**
|
|
117
|
+
* Dynamic benchmark executor running prefixed functions.
|
|
118
|
+
*
|
|
119
|
+
* `DynamicBenchmarker` is composed with two programs,
|
|
120
|
+
* {@link DynamicBenchmarker.master} and
|
|
121
|
+
* {@link DynamicBenchmarker.servant servants}. The master program creates
|
|
122
|
+
* multiple servant programs, and the servant programs execute the prefixed
|
|
123
|
+
* functions in parallel. When the pre-congirued count of requests are all
|
|
124
|
+
* completed, the master program collects the results and returns them.
|
|
125
|
+
*
|
|
126
|
+
* Therefore, when you want to benchmark the performance of a backend server,
|
|
127
|
+
* you have to make two programs; one for calling the
|
|
128
|
+
* {@link DynamicBenchmarker.master} function, and the other for calling the
|
|
129
|
+
* {@link DynamicBenchmarker.servant} function. Also, never forget to write
|
|
130
|
+
* the path of the servant program to the
|
|
131
|
+
* {@link DynamicBenchmarker.IMasterProps.servant} property.
|
|
132
|
+
*
|
|
133
|
+
* When you want to see some utilization cases, see the below example links.
|
|
134
|
+
*
|
|
135
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/benchmaark/index.ts
|
|
136
|
+
* @example https://github.com/samchon/backend/blob/master/test/benchmark/index.ts
|
|
137
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
138
|
+
*/
|
|
116
139
|
var DynamicBenchmarker;
|
|
117
140
|
(function (DynamicBenchmarker) {
|
|
118
141
|
var _this = this;
|
|
@@ -248,7 +271,7 @@ var DynamicBenchmarker;
|
|
|
248
271
|
_b.label = 1;
|
|
249
272
|
case 1:
|
|
250
273
|
_b.trys.push([1, 3, , 4]);
|
|
251
|
-
return [4 /*yield*/, func.value.apply(func, __spreadArray([], __read(ctx.props.parameters(
|
|
274
|
+
return [4 /*yield*/, func.value.apply(func, __spreadArray([], __read(ctx.props.parameters(ctx.props.connection, func.key)), false))];
|
|
252
275
|
case 2:
|
|
253
276
|
_b.sent();
|
|
254
277
|
current = events.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicBenchmarker.js","sourceRoot":"","sources":["../src/DynamicBenchmarker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DynamicBenchmarker.js","sourceRoot":"","sources":["../src/DynamicBenchmarker.ts"],"names":[],"mappings":"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"}
|
package/lib/DynamicExecutor.d.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dynamic Executor running prefixed functions.
|
|
3
3
|
*
|
|
4
|
-
* `DynamicExecutor` runs every
|
|
5
|
-
*
|
|
6
|
-
* `--include` or `--exclude` option in the CLI (Command Line Interface) level.
|
|
4
|
+
* `DynamicExecutor` runs every (or some filtered) prefixed functions
|
|
5
|
+
* in a specific directory.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
7
|
+
* For reference, it's useful for test program development of a backend server.
|
|
8
|
+
* Just write test functions under a directory, and just specify it.
|
|
9
|
+
* Furthermore, if you compose e2e test programs to utilize the `@nestia/sdk`
|
|
10
|
+
* generated API functions, you can take advantage of {@link DynamicBenchmarker}
|
|
11
|
+
* at the same time.
|
|
9
12
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
13
|
+
* When you want to see some utilization cases, see the below example links.
|
|
14
|
+
*
|
|
15
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/index.ts
|
|
16
|
+
* @example https://github.com/samchon/backend/blob/master/test/index.ts
|
|
12
17
|
* @author Jeongho Nam - https://github.com/samchon
|
|
13
18
|
*/
|
|
14
19
|
export declare namespace DynamicExecutor {
|
package/lib/DynamicExecutor.js
CHANGED
|
@@ -106,14 +106,19 @@ var StopWatch_1 = require("./StopWatch");
|
|
|
106
106
|
/**
|
|
107
107
|
* Dynamic Executor running prefixed functions.
|
|
108
108
|
*
|
|
109
|
-
* `DynamicExecutor` runs every
|
|
110
|
-
*
|
|
111
|
-
* `--include` or `--exclude` option in the CLI (Command Line Interface) level.
|
|
109
|
+
* `DynamicExecutor` runs every (or some filtered) prefixed functions
|
|
110
|
+
* in a specific directory.
|
|
112
111
|
*
|
|
113
|
-
*
|
|
112
|
+
* For reference, it's useful for test program development of a backend server.
|
|
113
|
+
* Just write test functions under a directory, and just specify it.
|
|
114
|
+
* Furthermore, if you compose e2e test programs to utilize the `@nestia/sdk`
|
|
115
|
+
* generated API functions, you can take advantage of {@link DynamicBenchmarker}
|
|
116
|
+
* at the same time.
|
|
114
117
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
118
|
+
* When you want to see some utilization cases, see the below example links.
|
|
119
|
+
*
|
|
120
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/index.ts
|
|
121
|
+
* @example https://github.com/samchon/backend/blob/master/test/index.ts
|
|
117
122
|
* @author Jeongho Nam - https://github.com/samchon
|
|
118
123
|
*/
|
|
119
124
|
var DynamicExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,0CAAoB;AACpB,8CAA4B;AAE5B,yCAAwC;AAExC
|
|
1
|
+
{"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,29 @@ import { IBenchmarkEvent } from "./structures/IBenchmarkEvent";
|
|
|
7
7
|
import { IBenchmarkMaster } from "./structures/IBenchmarkMaster";
|
|
8
8
|
import { IBenchmarkServant } from "./structures/IBenchmarkServant";
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Dynamic benchmark executor running prefixed functions.
|
|
12
|
+
*
|
|
13
|
+
* `DynamicBenchmarker` is composed with two programs,
|
|
14
|
+
* {@link DynamicBenchmarker.master} and
|
|
15
|
+
* {@link DynamicBenchmarker.servant servants}. The master program creates
|
|
16
|
+
* multiple servant programs, and the servant programs execute the prefixed
|
|
17
|
+
* functions in parallel. When the pre-congirued count of requests are all
|
|
18
|
+
* completed, the master program collects the results and returns them.
|
|
19
|
+
*
|
|
20
|
+
* Therefore, when you want to benchmark the performance of a backend server,
|
|
21
|
+
* you have to make two programs; one for calling the
|
|
22
|
+
* {@link DynamicBenchmarker.master} function, and the other for calling the
|
|
23
|
+
* {@link DynamicBenchmarker.servant} function. Also, never forget to write
|
|
24
|
+
* the path of the servant program to the
|
|
25
|
+
* {@link DynamicBenchmarker.IMasterProps.servant} property.
|
|
26
|
+
*
|
|
27
|
+
* When you want to see some utilization cases, see the below example links.
|
|
28
|
+
*
|
|
29
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/benchmaark/index.ts
|
|
30
|
+
* @example https://github.com/samchon/backend/blob/master/test/benchmark/index.ts
|
|
31
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
32
|
+
*/
|
|
10
33
|
export namespace DynamicBenchmarker {
|
|
11
34
|
/**
|
|
12
35
|
* Properties of the master program.
|
|
@@ -100,10 +123,10 @@ export namespace DynamicBenchmarker {
|
|
|
100
123
|
* {@link IConnection.logger} property of default connection to the
|
|
101
124
|
* returning parameters.
|
|
102
125
|
*
|
|
103
|
-
* @param name Function name
|
|
104
126
|
* @param connection Default connection instance
|
|
127
|
+
* @param name Function name
|
|
105
128
|
*/
|
|
106
|
-
parameters: (
|
|
129
|
+
parameters: (connection: IConnection, name: string) => Parameters;
|
|
107
130
|
}
|
|
108
131
|
export interface IReport {
|
|
109
132
|
time: number;
|
|
@@ -242,7 +265,7 @@ export namespace DynamicBenchmarker {
|
|
|
242
265
|
functions[Math.floor(Math.random() * functions.length)];
|
|
243
266
|
try {
|
|
244
267
|
await func.value(
|
|
245
|
-
...ctx.props.parameters(
|
|
268
|
+
...ctx.props.parameters(ctx.props.connection, func.key),
|
|
246
269
|
);
|
|
247
270
|
const current: number = events.length;
|
|
248
271
|
if (current !== prev)
|
package/src/DynamicExecutor.ts
CHANGED
|
@@ -7,14 +7,19 @@ import { StopWatch } from "./StopWatch";
|
|
|
7
7
|
/**
|
|
8
8
|
* Dynamic Executor running prefixed functions.
|
|
9
9
|
*
|
|
10
|
-
* `DynamicExecutor` runs every
|
|
11
|
-
*
|
|
12
|
-
* `--include` or `--exclude` option in the CLI (Command Line Interface) level.
|
|
10
|
+
* `DynamicExecutor` runs every (or some filtered) prefixed functions
|
|
11
|
+
* in a specific directory.
|
|
13
12
|
*
|
|
14
|
-
*
|
|
13
|
+
* For reference, it's useful for test program development of a backend server.
|
|
14
|
+
* Just write test functions under a directory, and just specify it.
|
|
15
|
+
* Furthermore, if you compose e2e test programs to utilize the `@nestia/sdk`
|
|
16
|
+
* generated API functions, you can take advantage of {@link DynamicBenchmarker}
|
|
17
|
+
* at the same time.
|
|
15
18
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
19
|
+
* When you want to see some utilization cases, see the below example links.
|
|
20
|
+
*
|
|
21
|
+
* @example https://github.com/samchon/nestia-start/blob/master/test/index.ts
|
|
22
|
+
* @example https://github.com/samchon/backend/blob/master/test/index.ts
|
|
18
23
|
* @author Jeongho Nam - https://github.com/samchon
|
|
19
24
|
*/
|
|
20
25
|
export namespace DynamicExecutor {
|