@nestia/e2e 0.5.3 → 0.6.0-dev.20240620

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.
@@ -126,7 +126,8 @@ export declare namespace DynamicBenchmarker {
126
126
  count: number;
127
127
  threads: number;
128
128
  simultaneous: number;
129
- time: number;
129
+ started_at: number;
130
+ elapsed_time: number;
130
131
  statistics: IReport.IStatistics;
131
132
  endpoints: Array<IReport.IEndpoint & IReport.IStatistics>;
132
133
  }
@@ -158,7 +158,7 @@ var DynamicBenchmarker;
158
158
  * @returns Benchmark report
159
159
  */
160
160
  DynamicBenchmarker.master = function (props) { return __awaiter(_this, void 0, void 0, function () {
161
- var completes, servants, started_at, events, time, endpoints, events_1, events_1_1, e;
161
+ var completes, servants, started_at, events, elapsed_time, endpoints, events_1, events_1_1, e;
162
162
  var e_1, _a;
163
163
  var _this = this;
164
164
  var _b;
@@ -189,7 +189,7 @@ var DynamicBenchmarker;
189
189
  }); }))];
190
190
  case 1:
191
191
  servants = _c.sent();
192
- started_at = new Date();
192
+ started_at = Date.now();
193
193
  return [4 /*yield*/, Promise.all(servants.map(function (connector) {
194
194
  return connector.getDriver().execute({
195
195
  count: Math.ceil(props.count / props.threads),
@@ -198,7 +198,7 @@ var DynamicBenchmarker;
198
198
  }))];
199
199
  case 2:
200
200
  events = (_c.sent()).flat();
201
- time = Date.now() - started_at.getTime();
201
+ elapsed_time = Date.now() - started_at;
202
202
  return [4 /*yield*/, Promise.all(servants.map(function (connector) { return connector.close(); }))];
203
203
  case 3:
204
204
  _c.sent();
@@ -227,9 +227,10 @@ var DynamicBenchmarker;
227
227
  count: props.count,
228
228
  threads: props.threads,
229
229
  simultaneous: props.simultaneous,
230
- time: time,
231
230
  statistics: statistics(events),
232
231
  endpoints: __spreadArray([], __read(endpoints), false).map(function (it) { return (__assign(__assign({}, statistics(it.second)), it.first)); }),
232
+ started_at: started_at,
233
+ elapsed_time: elapsed_time,
233
234
  }];
234
235
  }
235
236
  });
@@ -295,22 +296,24 @@ var DynamicBenchmarker;
295
296
  ].join(" | ");
296
297
  };
297
298
  return __spreadArray(__spreadArray(__spreadArray([
298
- "## Benchmark Report",
299
- "> - CPU: ".concat(os_1.default.cpus()[0].model),
300
- "> - RAM: ".concat(Math.floor(os_1.default.totalmem() / 1024 / 1024 / 1024).toLocaleString(), " GB"),
301
- "> - NodeJS Version: ".concat(process.version),
302
- "> - Backend Server: 1 core / 1 thread",
303
- "> - Arguments: ",
304
- "> - Count: ".concat(report.count.toLocaleString()),
305
- "> - Threads: ".concat(report.threads.toLocaleString()),
306
- "> - Simultaneous: ".concat(report.simultaneous.toLocaleString()),
307
- "> - Total Elapsed Time: ".concat(report.time.toLocaleString(), " ms"),
299
+ "# Benchmark Report",
300
+ "> Generated by [`@nestia/e2e`](https://github.com/samchon/nestia)",
301
+ "",
302
+ " - CPU: ".concat(os_1.default.cpus()[0].model),
303
+ " - RAM: ".concat(Math.floor(os_1.default.totalmem() / 1024 / 1024 / 1024).toLocaleString(), " GB"),
304
+ " - NodeJS Version: ".concat(process.version),
305
+ " - Backend Server: 1 core / 1 thread",
306
+ " - Arguments: ",
307
+ " - Count: ".concat(report.count.toLocaleString()),
308
+ " - Threads: ".concat(report.threads.toLocaleString()),
309
+ " - Simultaneous: ".concat(report.simultaneous.toLocaleString()),
310
+ " - Started At: ".concat(new Date(report.started_at).toLocaleString()),
311
+ " - Total Elapsed Time: ".concat(report.elapsed_time.toLocaleString(), " ms"),
308
312
  "",
309
- "### Total",
310
313
  writeHead(),
311
314
  writeRow("Total", report.statistics),
312
315
  "",
313
- "### Endpoints",
316
+ "## Endpoints",
314
317
  writeHead()
315
318
  ], __read(report.endpoints
316
319
  .slice()
@@ -319,9 +322,9 @@ var DynamicBenchmarker;
319
322
  return writeRow("".concat(endpoint.method, " ").concat(endpoint.path), endpoint);
320
323
  })), false), [
321
324
  "",
322
- "### Failures",
323
- "Method | Path | Count | Success",
324
- "-------|------|-------|--------"
325
+ "## Failures",
326
+ "Method | Path | Count | Failures",
327
+ "-------|------|-------|----------"
325
328
  ], false), __read(report.endpoints
326
329
  .filter(function (e) { return e.success !== e.count; })
327
330
  .slice()
@@ -331,13 +334,13 @@ var DynamicBenchmarker;
331
334
  e.method,
332
335
  e.path,
333
336
  e.count.toLocaleString(),
334
- e.success.toLocaleString(),
337
+ (e.count - e.success).toLocaleString(),
335
338
  ].join(" | ");
336
339
  })), false).join("\n");
337
340
  };
338
341
  var execute = function (ctx) {
339
342
  return function (mass) { return __awaiter(_this, void 0, void 0, function () {
340
- var functions, output;
343
+ var functions, entireEvents;
341
344
  var _this = this;
342
345
  return __generator(this, function (_a) {
343
346
  switch (_a.label) {
@@ -350,32 +353,38 @@ var DynamicBenchmarker;
350
353
  })(ctx.props.location)];
351
354
  case 1:
352
355
  _a.sent();
353
- output = [];
354
- return [4 /*yield*/, Promise.all(new Array(mass.simultaneous).fill(null).map(function () { return __awaiter(_this, void 0, void 0, function () {
356
+ entireEvents = [];
357
+ return [4 /*yield*/, Promise.all(new Array(mass.simultaneous)
358
+ .fill(null)
359
+ .map(function () { return 1; })
360
+ .map(function () { return __awaiter(_this, void 0, void 0, function () {
355
361
  var _loop_1;
356
362
  var _this = this;
357
363
  return __generator(this, function (_a) {
358
364
  switch (_a.label) {
359
365
  case 0:
360
366
  _loop_1 = function () {
361
- var events, func, connection, exp_1, events_2, events_2_1, e;
367
+ var localEvents, func, connection, exp_1, localEvents_1, localEvents_1_1, e;
362
368
  var e_2, _b;
363
369
  return __generator(this, function (_c) {
364
370
  switch (_c.label) {
365
371
  case 0:
366
- events = [];
372
+ localEvents = [];
367
373
  func = functions[Math.floor(Math.random() * functions.length)];
368
- connection = __assign(__assign({}, ctx.props.connection), { logger: function (e) { return __awaiter(_this, void 0, void 0, function () {
374
+ connection = __assign(__assign({}, ctx.props.connection), { logger: function (fe) { return __awaiter(_this, void 0, void 0, function () {
375
+ var be;
369
376
  var _a, _b;
370
377
  return __generator(this, function (_c) {
371
- events.push({
372
- metadata: e.route,
373
- status: e.status,
374
- started_at: e.started_at.toISOString(),
375
- repond_at: (_b = (_a = e.respond_at) === null || _a === void 0 ? void 0 : _a.toISOString()) !== null && _b !== void 0 ? _b : null,
376
- completed_at: e.completed_at.toISOString(),
378
+ be = {
379
+ metadata: fe.route,
380
+ status: fe.status,
381
+ started_at: fe.started_at.toISOString(),
382
+ repond_at: (_b = (_a = fe.respond_at) === null || _a === void 0 ? void 0 : _a.toISOString()) !== null && _b !== void 0 ? _b : null,
383
+ completed_at: fe.completed_at.toISOString(),
377
384
  success: true,
378
- });
385
+ };
386
+ localEvents.push(be);
387
+ entireEvents.push(be);
379
388
  return [2 /*return*/];
380
389
  });
381
390
  }); } });
@@ -389,32 +398,29 @@ var DynamicBenchmarker;
389
398
  case 3:
390
399
  exp_1 = _c.sent();
391
400
  try {
392
- for (events_2 = (e_2 = void 0, __values(events)), events_2_1 = events_2.next(); !events_2_1.done; events_2_1 = events_2.next()) {
393
- e = events_2_1.value;
401
+ for (localEvents_1 = (e_2 = void 0, __values(localEvents)), localEvents_1_1 = localEvents_1.next(); !localEvents_1_1.done; localEvents_1_1 = localEvents_1.next()) {
402
+ e = localEvents_1_1.value;
394
403
  e.success = e.status === 200 || e.status === 201;
395
404
  }
396
405
  }
397
406
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
398
407
  finally {
399
408
  try {
400
- if (events_2_1 && !events_2_1.done && (_b = events_2.return)) _b.call(events_2);
409
+ if (localEvents_1_1 && !localEvents_1_1.done && (_b = localEvents_1.return)) _b.call(localEvents_1);
401
410
  }
402
411
  finally { if (e_2) throw e_2.error; }
403
412
  }
404
413
  return [3 /*break*/, 4];
405
414
  case 4:
406
- if (events.length !== 0)
407
- ctx.driver
408
- .progress(output.length + events.length)
409
- .catch(function () { });
410
- output.push.apply(output, __spreadArray([], __read(events), false));
415
+ if (localEvents.length !== 0)
416
+ ctx.driver.progress(entireEvents.length).catch(function () { });
411
417
  return [2 /*return*/];
412
418
  }
413
419
  });
414
420
  };
415
421
  _a.label = 1;
416
422
  case 1:
417
- if (!(output.length < mass.count)) return [3 /*break*/, 3];
423
+ if (!(entireEvents.length < mass.count)) return [3 /*break*/, 3];
418
424
  return [5 /*yield**/, _loop_1()];
419
425
  case 2:
420
426
  _a.sent();
@@ -425,10 +431,10 @@ var DynamicBenchmarker;
425
431
  }); }))];
426
432
  case 2:
427
433
  _a.sent();
428
- return [4 /*yield*/, ctx.driver.progress(output.length)];
434
+ return [4 /*yield*/, ctx.driver.progress(entireEvents.length)];
429
435
  case 3:
430
436
  _a.sent();
431
- return [2 /*return*/, output];
437
+ return [2 /*return*/, entireEvents];
432
438
  }
433
439
  });
434
440
  }); };
@@ -523,7 +529,7 @@ var iterate = function (ctx) {
523
529
  }); };
524
530
  };
525
531
  var statistics = function (events) {
526
- var successes = events.filter(function (event) { return event.status === 200 || event.status === 201; });
532
+ var successes = events.filter(function (event) { return event.success; });
527
533
  return __assign({ count: events.length, success: successes.length }, average(events));
528
534
  };
529
535
  var average = function (events) {
@@ -540,8 +546,8 @@ var average = function (events) {
540
546
  var minimum = Number.MAX_SAFE_INTEGER;
541
547
  var maximum = Number.MIN_SAFE_INTEGER;
542
548
  try {
543
- for (var events_3 = __values(events), events_3_1 = events_3.next(); !events_3_1.done; events_3_1 = events_3.next()) {
544
- var event_1 = events_3_1.value;
549
+ for (var events_2 = __values(events), events_2_1 = events_2.next(); !events_2_1.done; events_2_1 = events_2.next()) {
550
+ var event_1 = events_2_1.value;
545
551
  var elapsed = new Date(event_1.completed_at).getTime() -
546
552
  new Date(event_1.started_at).getTime();
547
553
  mean += elapsed;
@@ -553,7 +559,7 @@ var average = function (events) {
553
559
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
554
560
  finally {
555
561
  try {
556
- if (events_3_1 && !events_3_1.done && (_a = events_3.return)) _a.call(events_3);
562
+ if (events_2_1 && !events_2_1.done && (_a = events_2.return)) _a.call(events_2);
557
563
  }
558
564
  finally { if (e_5) throw e_5.error; }
559
565
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicBenchmarker.js","sourceRoot":"","sources":["../src/DynamicBenchmarker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAoB;AACpB,0CAAoB;AACpB,+BAA8D;AAC9D,6BAAqC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,IAAiB,kBAAkB,CAuWlC;AAvWD,WAAiB,kBAAkB;;IA6HjC;;;;;;;;;;OAUG;IACU,yBAAM,GAAG,UAAO,KAAmB;;;;;;;;oBACxC,SAAS,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAKvD,qBAAM,OAAO,CAAC,GAAG,CACrB,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAO,CAAC,EAAE,CAAC;;;;;;wCAC3C,SAAS,GAIX,IAAI,uBAAe,CACrB,IAAI,EACJ;4CACE,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;4CACpC,QAAQ,EAAE,UAAC,OAAO;gDAChB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;gDACvB,IAAI,KAAK,CAAC,QAAQ;oDAChB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC,CAAC;4CACzD,CAAC;yCACF,EACD,SAAS,CACV,CAAC;wCACF,qBAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAA;;wCAA9D,SAA8D,CAAC;wCAC/D,sBAAO,SAAS,EAAC;;;6BAClB,CAAC,CACH,EAAA;;oBAzBK,QAAQ,GAIR,SAqBL;oBACK,UAAU,GAAS,IAAI,IAAI,EAAE,CAAC;oBAElC,qBAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,UAAC,SAAS;4BACrB,OAAA,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;gCAC5B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;gCAC7C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;6BAC5D,CAAC;wBAHF,CAGE,CACH,CACF,EAAA;;oBARG,MAAM,GAAsB,CAChC,SAOC,CACF,CAAC,IAAI,EAAE;oBACF,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvD,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,EAAjB,CAAiB,CAAC,CAAC,EAAA;;oBAAjE,SAAiE,CAAC;oBAClE,IAAI,KAAK,CAAC,QAAQ;wBAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAE1C,SAAS,GACb,IAAI,cAAO,CACT,UAAC,GAAG,IAAK,OAAA,IAAA,WAAI,EAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAA1B,CAA0B,EACnC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAA1C,CAA0C,CACrD,CAAC;;wBACJ,KAAgB,WAAA,SAAA,MAAM,CAAA;4BAAX,CAAC;4BACV,SAAS;iCACN,IAAI,CACH;gCACE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;gCACzB,IAAI,EAAE,MAAA,CAAC,CAAC,QAAQ,CAAC,QAAQ,mCAAI,CAAC,CAAC,QAAQ,CAAC,IAAI;6BAC7C,EACD,cAAM,OAAA,EAAE,EAAF,CAAE,CACT;iCACA,IAAI,CAAC,CAAC,CAAC,CAAC;yBAAA;;;;;;;;;oBACb,sBAAO;4BACL,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,IAAI,MAAA;4BACJ,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;4BAC9B,SAAS,EAAE,yBAAI,SAAS,UAAE,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,uBACjC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GACrB,EAAE,CAAC,KAAK,EACX,EAHoC,CAGpC,CAAC;yBACJ,EAAC;;;SACH,CAAC;IAEF;;;;;;;OAOG;IACU,0BAAO,GAAG,UACrB,KAAgC;;;;;oBAE1B,MAAM,GACV,IAAI,oBAAY,EAAE,CAAC;oBACrB,qBAAM,MAAM,CAAC,IAAI,CAAC;4BAChB,OAAO,EAAE,OAAO,CAAC;gCACf,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;gCAC1B,KAAK,OAAA;6BACN,CAAC;yBACH,CAAC,EAAA;;oBALF,SAKE,CAAC;oBACH,sBAAO,MAAM,EAAC;;;SACf,CAAC;IAEF;;;;;OAKG;IACU,2BAAQ,GAAG,UAAC,MAAkC;QACzD,IAAM,MAAM,GAAG,UAAC,KAAoB;YAClC,OAAA,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE;QAAzE,CAAyE,CAAC;QAC5E,IAAM,SAAS,GAAG;YAChB,OAAA;gBACE,MAAM;gBACN,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,SAAS;gBACT,SAAS;aACV,CAAC,IAAI,CAAC,KAAK,CAAC;gBACb,IAAI;gBACJ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAVnC,CAUmC,CAAC;QACtC,IAAM,QAAQ,GAAG,UACf,KAAa,EACb,UAAkD;YAElD,OAAA;gBACE,KAAK;gBACL,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE;gBACjC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE;gBACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;gBACxB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aAC3B,CAAC,IAAI,CAAC,KAAK,CAAC;QARb,CAQa,CAAC;QAChB,OAAO;YACL,qBAAqB;YACrB,mBAAY,YAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAE;YAChC,mBAAY,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc,EAAE,QAAK;YAChF,8BAAuB,OAAO,CAAC,OAAO,CAAE;YACxC,uCAAuC;YACvC,iBAAiB;YACjB,uBAAgB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAE;YAC/C,yBAAkB,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAE;YACnD,8BAAuB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAE;YAC7D,kCAA2B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,QAAK;YAC5D,EAAE;YACF,WAAW;YACX,SAAS,EAAE;YACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;YACpC,EAAE;YACF,eAAe;YACf,SAAS,EAAE;kBACR,MAAM,CAAC,SAAS;aAChB,KAAK,EAAE;aACP,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;aAC7C,GAAG,CAAC,UAAC,QAAQ;YACZ,OAAA,QAAQ,CAAC,UAAG,QAAQ,CAAC,MAAM,cAAI,QAAQ,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC;QAAzD,CAAyD,CAC1D;YACH,EAAE;YACF,cAAc;YACd,iCAAiC;YACjC,iCAAiC;0BAC9B,MAAM,CAAC,SAAS;aAChB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAArB,CAAqB,CAAC;aACpC,KAAK,EAAE;aACP,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAjB,CAAiB,CAAC;aACjC,GAAG,CAAC,UAAC,CAAC;YACL,OAAA;gBACE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;gBACxB,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE;aAC3B,CAAC,IAAI,CAAC,KAAK,CAAC;QALb,CAKa,CACd,UACH,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,OAAO,GACX,UAA2B,GAG1B;QACD,OAAA,UAAO,IAGN;;;;;;wBACO,SAAS,GAA4B,EAAE,CAAC;wBAC9C,qBAAM,OAAO,CAAC;gCACZ,UAAU,EAAE,SAAS;gCACrB,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,KAAK,EAAE,GAAG,CAAC,KAAK;6BACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAA;;wBAJtB,SAIsB,CAAC;wBAEjB,MAAM,GAAsB,EAAE,CAAC;wBACrC,qBAAM,OAAO,CAAC,GAAG,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;4DAElC,MAAM,GAAsB,EAAE,CAAC;4DAC/B,IAAI,GACR,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;4DACpD,UAAU,yBACX,GAAG,CAAC,KAAK,CAAC,UAAU,KACvB,MAAM,EAAE,UAAO,CAAC;;;wEACd,MAAM,CAAC,IAAI,CAAC;4EACV,QAAQ,EAAE,CAAC,CAAC,KAAK;4EACjB,MAAM,EAAE,CAAC,CAAC,MAAM;4EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE;4EACtC,SAAS,EAAE,MAAA,MAAA,CAAC,CAAC,UAAU,0CAAE,WAAW,EAAE,mCAAI,IAAI;4EAC9C,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;4EAC1C,OAAO,EAAE,IAAI;yEACd,CAAC,CAAC;;;qEACJ,GACF,CAAC;;;;4DAEA,qBAAM,IAAI,CAAC,KAAK,OAAV,IAAI,2BAAU,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAC;;4DAA/D,SAA+D,CAAC;;;;;gEAEhE,KAAgB,0BAAA,SAAA,MAAM,CAAA,CAAA;oEAAX,CAAC;oEACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC;iEAAA;;;;;;;;;;;4DAErD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gEACrB,GAAG,CAAC,MAAM;qEACP,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;qEACvC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;4DACrB,MAAM,CAAC,IAAI,OAAX,MAAM,2BAAS,MAAM,WAAE;;;;;;;iDA3BlB,CAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;;;;;;;;iCA6BlC,CAAC,CACH,EAAA;;wBAhCD,SAgCC,CAAC;wBACF,qBAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAA;;wBAAxC,SAAwC,CAAC;wBACzC,sBAAO,MAAM,EAAC;;;aACf;IA/CD,CA+CC,CAAC;AACN,CAAC,EAvWgB,kBAAkB,kCAAlB,kBAAkB,QAuWlC;AAOD,IAAM,OAAO,GACX,UAA2B,GAI1B;IACD,OAAA,UAAO,IAAY;;;;;wBACW,qBAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;;oBAArD,SAAS,GAAa,SAA+B;;;;oBACxC,cAAA,SAAA,SAAS,CAAA;;;;oBAAjB,IAAI;oBACP,aAAmB,UAAG,IAAI,cAAI,IAAI,CAAE,CAAC;oBACpB,qBAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAQ,CAAC,EAAA;;oBAAjD,IAAI,GAAa,SAAgC;yBACnD,CAAA,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAA,EAA3B,wBAA2B;oBAAE,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAQ,CAAC,EAAA;;oBAA5B,SAA4B,CAAC;;;yBACrD,CAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA,EAA7B,yBAA6B;oBACrB,+CAAa,UAAQ,4DAAC;;oBAA/B,MAAM,GAAG,SAAsB;;;;oBACV,oBAAA,SAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAA;;;;oBAAtC,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;yBAChB,CAAA,OAAO,KAAK,KAAK,UAAU,CAAA,EAA3B,yBAA2B;oBAAE,yBAAS;;yBACjC,CAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA,EAA1C,yBAA0C;oBAAE,yBAAS;yBACpD,qBAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;oBAAjC,IAAI,CAAC,SAA4B,CAAC,KAAK,KAAK;wBAAE,yBAAS;;;oBAC5D,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClB,GAAG,KAAA;wBACH,KAAK,EAAE,KAA8C;qBACtD,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAIV;AAnBD,CAmBC,CAAC;AAEJ,IAAM,UAAU,GAAG,UACjB,MAAyB;IAEzB,IAAM,SAAS,GAAsB,MAAM,CAAC,MAAM,CAChD,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAA5C,CAA4C,CACxD,CAAC;IACF,kBACE,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,OAAO,EAAE,SAAS,CAAC,MAAM,IACtB,OAAO,CAAC,MAAM,CAAC,EAClB;AACJ,CAAC,CAAC;AAEF,IAAM,OAAO,GAAG,UACd,MAAyB;;IAKzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,OAAO,GAAW,MAAM,CAAC,gBAAgB,CAAC;IAC9C,IAAI,OAAO,GAAW,MAAM,CAAC,gBAAgB,CAAC;;QAC9C,KAAoB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;YAAxB,IAAM,OAAK,mBAAA;YACd,IAAM,OAAO,GACX,IAAI,IAAI,CAAC,OAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBACtC,IAAI,IAAI,CAAC,OAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,IAAI,OAAO,CAAC;YAChB,KAAK,IAAI,OAAO,GAAG,OAAO,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;;;;;;;;;IACD,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;IACtB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"DynamicBenchmarker.js","sourceRoot":"","sources":["../src/DynamicBenchmarker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAoB;AACpB,0CAAoB;AACpB,+BAA8D;AAC9D,6BAAqC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,IAAiB,kBAAkB,CA6WlC;AA7WD,WAAiB,kBAAkB;;IA8HjC;;;;;;;;;;OAUG;IACU,yBAAM,GAAG,UAAO,KAAmB;;;;;;;;oBACxC,SAAS,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAKvD,qBAAM,OAAO,CAAC,GAAG,CACrB,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAO,CAAC,EAAE,CAAC;;;;;;wCAC3C,SAAS,GAIX,IAAI,uBAAe,CACrB,IAAI,EACJ;4CACE,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;4CACpC,QAAQ,EAAE,UAAC,OAAO;gDAChB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;gDACvB,IAAI,KAAK,CAAC,QAAQ;oDAChB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC,CAAC;4CACzD,CAAC;yCACF,EACD,SAAS,CACV,CAAC;wCACF,qBAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAA;;wCAA9D,SAA8D,CAAC;wCAC/D,sBAAO,SAAS,EAAC;;;6BAClB,CAAC,CACH,EAAA;;oBAzBK,QAAQ,GAIR,SAqBL;oBACK,UAAU,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEpC,qBAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,UAAC,SAAS;4BACrB,OAAA,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;gCAC5B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;gCAC7C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;6BAC5D,CAAC;wBAHF,CAGE,CACH,CACF,EAAA;;oBARG,MAAM,GAAsB,CAChC,SAOC,CACF,CAAC,IAAI,EAAE;oBACF,YAAY,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;oBACrD,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,EAAjB,CAAiB,CAAC,CAAC,EAAA;;oBAAjE,SAAiE,CAAC;oBAClE,IAAI,KAAK,CAAC,QAAQ;wBAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAE1C,SAAS,GACb,IAAI,cAAO,CACT,UAAC,GAAG,IAAK,OAAA,IAAA,WAAI,EAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAA1B,CAA0B,EACnC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAA1C,CAA0C,CACrD,CAAC;;wBACJ,KAAgB,WAAA,SAAA,MAAM,CAAA;4BAAX,CAAC;4BACV,SAAS;iCACN,IAAI,CACH;gCACE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;gCACzB,IAAI,EAAE,MAAA,CAAC,CAAC,QAAQ,CAAC,QAAQ,mCAAI,CAAC,CAAC,QAAQ,CAAC,IAAI;6BAC7C,EACD,cAAM,OAAA,EAAE,EAAF,CAAE,CACT;iCACA,IAAI,CAAC,CAAC,CAAC,CAAC;yBAAA;;;;;;;;;oBACb,sBAAO;4BACL,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;4BAC9B,SAAS,EAAE,yBAAI,SAAS,UAAE,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,uBACjC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GACrB,EAAE,CAAC,KAAK,EACX,EAHoC,CAGpC,CAAC;4BACH,UAAU,YAAA;4BACV,YAAY,cAAA;yBACb,EAAC;;;SACH,CAAC;IAEF;;;;;;;OAOG;IACU,0BAAO,GAAG,UACrB,KAAgC;;;;;oBAE1B,MAAM,GACV,IAAI,oBAAY,EAAE,CAAC;oBACrB,qBAAM,MAAM,CAAC,IAAI,CAAC;4BAChB,OAAO,EAAE,OAAO,CAAC;gCACf,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;gCAC1B,KAAK,OAAA;6BACN,CAAC;yBACH,CAAC,EAAA;;oBALF,SAKE,CAAC;oBACH,sBAAO,MAAM,EAAC;;;SACf,CAAC;IAEF;;;;;OAKG;IACU,2BAAQ,GAAG,UAAC,MAAkC;QACzD,IAAM,MAAM,GAAG,UAAC,KAAoB;YAClC,OAAA,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE;QAAzE,CAAyE,CAAC;QAC5E,IAAM,SAAS,GAAG;YAChB,OAAA;gBACE,MAAM;gBACN,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,SAAS;gBACT,SAAS;aACV,CAAC,IAAI,CAAC,KAAK,CAAC;gBACb,IAAI;gBACJ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAVnC,CAUmC,CAAC;QACtC,IAAM,QAAQ,GAAG,UACf,KAAa,EACb,UAAkD;YAElD,OAAA;gBACE,KAAK;gBACL,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE;gBACjC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE;gBACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;gBACxB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aAC3B,CAAC,IAAI,CAAC,KAAK,CAAC;QARb,CAQa,CAAC;QAChB,OAAO;YACL,oBAAoB;YACpB,mEAAmE;YACnE,EAAE;YACF,mBAAY,YAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAE;YAChC,mBAAY,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc,EAAE,QAAK;YAChF,8BAAuB,OAAO,CAAC,OAAO,CAAE;YACxC,uCAAuC;YACvC,iBAAiB;YACjB,uBAAgB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAE;YAC/C,yBAAkB,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAE;YACnD,8BAAuB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAE;YAC7D,0BAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAE;YACjE,kCAA2B,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,QAAK;YACpE,EAAE;YACF,SAAS,EAAE;YACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;YACpC,EAAE;YACF,cAAc;YACd,SAAS,EAAE;kBACR,MAAM,CAAC,SAAS;aAChB,KAAK,EAAE;aACP,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;aAC7C,GAAG,CAAC,UAAC,QAAQ;YACZ,OAAA,QAAQ,CAAC,UAAG,QAAQ,CAAC,MAAM,cAAI,QAAQ,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC;QAAzD,CAAyD,CAC1D;YACH,EAAE;YACF,aAAa;YACb,kCAAkC;YAClC,mCAAmC;0BAChC,MAAM,CAAC,SAAS;aAChB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAArB,CAAqB,CAAC;aACpC,KAAK,EAAE;aACP,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAjB,CAAiB,CAAC;aACjC,GAAG,CAAC,UAAC,CAAC;YACL,OAAA;gBACE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;gBACxB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE;aACvC,CAAC,IAAI,CAAC,KAAK,CAAC;QALb,CAKa,CACd,UACH,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,OAAO,GACX,UAA2B,GAG1B;QACD,OAAA,UAAO,IAGN;;;;;;wBACO,SAAS,GAA4B,EAAE,CAAC;wBAC9C,qBAAM,OAAO,CAAC;gCACZ,UAAU,EAAE,SAAS;gCACrB,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,KAAK,EAAE,GAAG,CAAC,KAAK;6BACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAA;;wBAJtB,SAIsB,CAAC;wBAEjB,YAAY,GAAsB,EAAE,CAAC;wBAC3C,qBAAM,OAAO,CAAC,GAAG,CACf,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;iCACzB,IAAI,CAAC,IAAI,CAAC;iCACV,GAAG,CAAC,cAAM,OAAA,CAAC,EAAD,CAAC,CAAC;iCACZ,GAAG,CAAC;;;;;;;;;;;;4DAEK,WAAW,GAAsB,EAAE,CAAC;4DACpC,IAAI,GACR,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;4DACpD,UAAU,yBACX,GAAG,CAAC,KAAK,CAAC,UAAU,KACvB,MAAM,EAAE,UAAO,EAAE;;;;wEACT,EAAE,GAAoB;4EAC1B,QAAQ,EAAE,EAAE,CAAC,KAAK;4EAClB,MAAM,EAAE,EAAE,CAAC,MAAM;4EACjB,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE;4EACvC,SAAS,EAAE,MAAA,MAAA,EAAE,CAAC,UAAU,0CAAE,WAAW,EAAE,mCAAI,IAAI;4EAC/C,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE;4EAC3C,OAAO,EAAE,IAAI;yEACd,CAAC;wEACF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wEACrB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;;qEACvB,GACF,CAAC;;;;4DAEA,qBAAM,IAAI,CAAC,KAAK,OAAV,IAAI,2BAAU,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAC;;4DAA/D,SAA+D,CAAC;;;;;gEAEhE,KAAgB,+BAAA,SAAA,WAAW,CAAA,CAAA;oEAAhB,CAAC;oEACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC;iEAAA;;;;;;;;;;;4DAErD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gEAC1B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;;;;;;;iDA1BtD,CAAA,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;;;;;;;;iCA4BxC,CAAC,CACL,EAAA;;wBAlCD,SAkCC,CAAC;wBACF,qBAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,sBAAO,YAAY,EAAC;;;aACrB;IAjDD,CAiDC,CAAC;AACN,CAAC,EA7WgB,kBAAkB,kCAAlB,kBAAkB,QA6WlC;AAOD,IAAM,OAAO,GACX,UAA2B,GAI1B;IACD,OAAA,UAAO,IAAY;;;;;wBACW,qBAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;;oBAArD,SAAS,GAAa,SAA+B;;;;oBACxC,cAAA,SAAA,SAAS,CAAA;;;;oBAAjB,IAAI;oBACP,aAAmB,UAAG,IAAI,cAAI,IAAI,CAAE,CAAC;oBACpB,qBAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAQ,CAAC,EAAA;;oBAAjD,IAAI,GAAa,SAAgC;yBACnD,CAAA,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAA,EAA3B,wBAA2B;oBAAE,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAQ,CAAC,EAAA;;oBAA5B,SAA4B,CAAC;;;yBACrD,CAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA,EAA7B,yBAA6B;oBACrB,+CAAa,UAAQ,4DAAC;;oBAA/B,MAAM,GAAG,SAAsB;;;;oBACV,oBAAA,SAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAA;;;;oBAAtC,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;yBAChB,CAAA,OAAO,KAAK,KAAK,UAAU,CAAA,EAA3B,yBAA2B;oBAAE,yBAAS;;yBACjC,CAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA,EAA1C,yBAA0C;oBAAE,yBAAS;yBACpD,qBAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;oBAAjC,IAAI,CAAC,SAA4B,CAAC,KAAK,KAAK;wBAAE,yBAAS;;;oBAC5D,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClB,GAAG,KAAA;wBACH,KAAK,EAAE,KAA8C;qBACtD,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAIV;AAnBD,CAmBC,CAAC;AAEJ,IAAM,UAAU,GAAG,UACjB,MAAyB;IAEzB,IAAM,SAAS,GAAsB,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,CAAC;IAC7E,kBACE,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,OAAO,EAAE,SAAS,CAAC,MAAM,IACtB,OAAO,CAAC,MAAM,CAAC,EAClB;AACJ,CAAC,CAAC;AAEF,IAAM,OAAO,GAAG,UACd,MAAyB;;IAKzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,OAAO,GAAW,MAAM,CAAC,gBAAgB,CAAC;IAC9C,IAAI,OAAO,GAAW,MAAM,CAAC,gBAAgB,CAAC;;QAC9C,KAAoB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;YAAxB,IAAM,OAAK,mBAAA;YACd,IAAM,OAAO,GACX,IAAI,IAAI,CAAC,OAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBACtC,IAAI,IAAI,CAAC,OAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,IAAI,OAAO,CAAC;YAChB,KAAK,IAAI,OAAO,GAAG,OAAO,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;;;;;;;;;IACD,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;IACtB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC3C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/e2e",
3
- "version": "0.5.3",
3
+ "version": "0.6.0-dev.20240620",
4
4
  "description": "E2E test utilify functions",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -38,7 +38,7 @@
38
38
  "ts-node": "^10.9.1",
39
39
  "ts-patch": "^3.1.0",
40
40
  "typescript": "^5.4.2",
41
- "typia": "^6.1.0"
41
+ "typia": "^6.1.1"
42
42
  },
43
43
  "dependencies": {
44
44
  "@nestia/fetcher": "^3.2.2",
@@ -143,7 +143,8 @@ export namespace DynamicBenchmarker {
143
143
  count: number;
144
144
  threads: number;
145
145
  simultaneous: number;
146
- time: number;
146
+ started_at: number;
147
+ elapsed_time: number;
147
148
  statistics: IReport.IStatistics;
148
149
  endpoints: Array<IReport.IEndpoint & IReport.IStatistics>;
149
150
  }
@@ -201,7 +202,7 @@ export namespace DynamicBenchmarker {
201
202
  return connector;
202
203
  }),
203
204
  );
204
- const started_at: Date = new Date();
205
+ const started_at: number = Date.now();
205
206
  const events: IBenchmarkEvent[] = (
206
207
  await Promise.all(
207
208
  servants.map((connector) =>
@@ -212,7 +213,7 @@ export namespace DynamicBenchmarker {
212
213
  ),
213
214
  )
214
215
  ).flat();
215
- const time: number = Date.now() - started_at.getTime();
216
+ const elapsed_time: number = Date.now() - started_at;
216
217
  await Promise.all(servants.map((connector) => connector.close()));
217
218
  if (props.progress) props.progress(props.count);
218
219
 
@@ -235,12 +236,13 @@ export namespace DynamicBenchmarker {
235
236
  count: props.count,
236
237
  threads: props.threads,
237
238
  simultaneous: props.simultaneous,
238
- time,
239
239
  statistics: statistics(events),
240
240
  endpoints: [...endpoints].map((it) => ({
241
241
  ...statistics(it.second),
242
242
  ...it.first,
243
243
  })),
244
+ started_at,
245
+ elapsed_time,
244
246
  };
245
247
  };
246
248
 
@@ -301,22 +303,24 @@ export namespace DynamicBenchmarker {
301
303
  format(statistics.maximum),
302
304
  ].join(" | ");
303
305
  return [
304
- `## Benchmark Report`,
305
- `> - CPU: ${os.cpus()[0].model}`,
306
- `> - RAM: ${Math.floor(os.totalmem() / 1024 / 1024 / 1024).toLocaleString()} GB`,
307
- `> - NodeJS Version: ${process.version}`,
308
- `> - Backend Server: 1 core / 1 thread`,
309
- `> - Arguments: `,
310
- `> - Count: ${report.count.toLocaleString()}`,
311
- `> - Threads: ${report.threads.toLocaleString()}`,
312
- `> - Simultaneous: ${report.simultaneous.toLocaleString()}`,
313
- `> - Total Elapsed Time: ${report.time.toLocaleString()} ms`,
314
- "",
315
- "### Total",
306
+ `# Benchmark Report`,
307
+ "> Generated by [`@nestia/e2e`](https://github.com/samchon/nestia)",
308
+ ``,
309
+ ` - CPU: ${os.cpus()[0].model}`,
310
+ ` - RAM: ${Math.floor(os.totalmem() / 1024 / 1024 / 1024).toLocaleString()} GB`,
311
+ ` - NodeJS Version: ${process.version}`,
312
+ ` - Backend Server: 1 core / 1 thread`,
313
+ ` - Arguments: `,
314
+ ` - Count: ${report.count.toLocaleString()}`,
315
+ ` - Threads: ${report.threads.toLocaleString()}`,
316
+ ` - Simultaneous: ${report.simultaneous.toLocaleString()}`,
317
+ ` - Started At: ${new Date(report.started_at).toLocaleString()}`,
318
+ ` - Total Elapsed Time: ${report.elapsed_time.toLocaleString()} ms`,
319
+ ``,
316
320
  writeHead(),
317
321
  writeRow("Total", report.statistics),
318
322
  "",
319
- "### Endpoints",
323
+ "## Endpoints",
320
324
  writeHead(),
321
325
  ...report.endpoints
322
326
  .slice()
@@ -325,9 +329,9 @@ export namespace DynamicBenchmarker {
325
329
  writeRow(`${endpoint.method} ${endpoint.path}`, endpoint),
326
330
  ),
327
331
  "",
328
- "### Failures",
329
- "Method | Path | Count | Success",
330
- "-------|------|-------|--------",
332
+ "## Failures",
333
+ "Method | Path | Count | Failures",
334
+ "-------|------|-------|----------",
331
335
  ...report.endpoints
332
336
  .filter((e) => e.success !== e.count)
333
337
  .slice()
@@ -337,7 +341,7 @@ export namespace DynamicBenchmarker {
337
341
  e.method,
338
342
  e.path,
339
343
  e.count.toLocaleString(),
340
- e.success.toLocaleString(),
344
+ (e.count - e.success).toLocaleString(),
341
345
  ].join(" | "),
342
346
  ),
343
347
  ].join("\n");
@@ -359,42 +363,44 @@ export namespace DynamicBenchmarker {
359
363
  props: ctx.props,
360
364
  })(ctx.props.location);
361
365
 
362
- const output: IBenchmarkEvent[] = [];
366
+ const entireEvents: IBenchmarkEvent[] = [];
363
367
  await Promise.all(
364
- new Array(mass.simultaneous).fill(null).map(async () => {
365
- while (output.length < mass.count) {
366
- const events: IBenchmarkEvent[] = [];
367
- const func: IFunction<Parameters> =
368
- functions[Math.floor(Math.random() * functions.length)];
369
- const connection: IConnection = {
370
- ...ctx.props.connection,
371
- logger: async (e): Promise<void> => {
372
- events.push({
373
- metadata: e.route,
374
- status: e.status,
375
- started_at: e.started_at.toISOString(),
376
- repond_at: e.respond_at?.toISOString() ?? null,
377
- completed_at: e.completed_at.toISOString(),
378
- success: true,
379
- });
380
- },
381
- };
382
- try {
383
- await func.value(...ctx.props.parameters(connection, func.key));
384
- } catch (exp) {
385
- for (const e of events)
386
- e.success = e.status === 200 || e.status === 201;
368
+ new Array(mass.simultaneous)
369
+ .fill(null)
370
+ .map(() => 1)
371
+ .map(async () => {
372
+ while (entireEvents.length < mass.count) {
373
+ const localEvents: IBenchmarkEvent[] = [];
374
+ const func: IFunction<Parameters> =
375
+ functions[Math.floor(Math.random() * functions.length)];
376
+ const connection: IConnection = {
377
+ ...ctx.props.connection,
378
+ logger: async (fe): Promise<void> => {
379
+ const be: IBenchmarkEvent = {
380
+ metadata: fe.route,
381
+ status: fe.status,
382
+ started_at: fe.started_at.toISOString(),
383
+ repond_at: fe.respond_at?.toISOString() ?? null,
384
+ completed_at: fe.completed_at.toISOString(),
385
+ success: true,
386
+ };
387
+ localEvents.push(be);
388
+ entireEvents.push(be);
389
+ },
390
+ };
391
+ try {
392
+ await func.value(...ctx.props.parameters(connection, func.key));
393
+ } catch (exp) {
394
+ for (const e of localEvents)
395
+ e.success = e.status === 200 || e.status === 201;
396
+ }
397
+ if (localEvents.length !== 0)
398
+ ctx.driver.progress(entireEvents.length).catch(() => {});
387
399
  }
388
- if (events.length !== 0)
389
- ctx.driver
390
- .progress(output.length + events.length)
391
- .catch(() => {});
392
- output.push(...events);
393
- }
394
- }),
400
+ }),
395
401
  );
396
- await ctx.driver.progress(output.length);
397
- return output;
402
+ await ctx.driver.progress(entireEvents.length);
403
+ return entireEvents;
398
404
  };
399
405
  }
400
406
 
@@ -433,9 +439,7 @@ const iterate =
433
439
  const statistics = (
434
440
  events: IBenchmarkEvent[],
435
441
  ): DynamicBenchmarker.IReport.IStatistics => {
436
- const successes: IBenchmarkEvent[] = events.filter(
437
- (event) => event.status === 200 || event.status === 201,
438
- );
442
+ const successes: IBenchmarkEvent[] = events.filter((event) => event.success);
439
443
  return {
440
444
  count: events.length,
441
445
  success: successes.length,