@nsshunt/stsrunnerframework 1.0.89 → 1.0.91

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.
@@ -13,7 +13,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
13
13
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
 
16
- var _collectorCollectorPort, _runners, _options, _workerId, _debug, _error, _processLoopExecutor, _SetMessagePort, _CreateRunnerEx2RunState, _UpdateRunnerStateById, _GetAllRunners, _CanExecuteNextIterationById, _IsCompletedById, _GetRunnerIterationById, _ResetRunnerIterationById, _IncRunnerIterationById, _GetRunnerInstanceById, _GetRunnerExecutionProfileById, _GetRunnerOptionsById, _SetRunnerOptionsById, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _PostMessageToWorkerManagerById, _StartRunner, _StopRunnerByRunnerId, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options2, _STSInstrumentController, _telemetryProcessor, _archiveList, _id, _processLoopExecutor2, _debug2, _SetRunnerIntoWorker, _ProcessTelemetry, _EmitWorkerEvent, _EmitRunnerEvent, _RunnerStateChange, _RemoveRunnerFromCollection, _CreateAsyncRunner, _PostMessageToWorkerUsingDefaultChannel, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _UpdateOptionsRunner, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _UpdateOptionsWorker, _TerminateWorker, _BroadcastCommandToAllRunners, _HandleAllWorkers;
16
+ var _collectorCollectorPort, _runners, _options, _workerId, _debug, _error, _processLoopExecutor, _SetMessagePort, _CreateRunnerEx2RunState, _UpdateRunnerStateById, _GetAllRunners, _CanExecuteNextIterationById, _IsCompletedById, _GetRunnerIterationById, _ResetRunnerIterationById, _IncRunnerIterationById, _GetRunnerInstanceById, _GetRunnerExecutionProfileById, _GetRunnerOptionsById, _SetRunnerOptionsById, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _PostMessageToWorkerManagerById, _PostRunnersToWorkerManager, _StartRunner, _StopRunnerByRunnerId, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options2, _STSInstrumentController, _telemetryProcessor, _archiveList, _id, _messages, _processLoopExecutor2, _debug2, _SetRunnerIntoWorker, _ProcessTelemetry, _EmitWorkerEvent, _EmitRunnerEvent, _RunnerStateChange, _RemoveRunnerFromCollection, _CreateAsyncRunner, _PostMessageToWorkerUsingDefaultChannel, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _UpdateOptionsRunner, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _UpdateOptionsWorker, _TerminateWorker, _BroadcastCommandToAllRunners, _HandleAllWorkers, _STSWorkerManager_instances, GetRunnersResponse_fn, _SyncRunnerData, _SyncWorkerDataFromPayload, _SyncWorkerDataFromWorker, _SyncWorkerDataFromWorkers, _PostMessageToWorkerGetRunners;
17
17
  const URI_BASE_VUEUTILS = "/";
18
18
  const STS_RF_RES_PREFIX = "STS_R_RF_";
19
19
  const STS_RF_RES_ENT_PREFIX = "STS_RE_RF_";
@@ -34,6 +34,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
34
34
  eIWMessageCommands2["TerminateRunner"] = "__STS__TerminateRunner";
35
35
  eIWMessageCommands2["RunnerStateChange"] = "__STS__RunnerStateChange";
36
36
  eIWMessageCommands2["RemoveRunnerFromCollection"] = "__STS__RemoveRunnerFromCollection";
37
+ eIWMessageCommands2["GetRunners"] = "__STS__GetRunners";
37
38
  return eIWMessageCommands2;
38
39
  })(eIWMessageCommands || {});
39
40
  var IRunnerState = /* @__PURE__ */ ((IRunnerState2) => {
@@ -1545,7 +1546,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1545
1546
  const promArray = [];
1546
1547
  for (const [, runner] of Object.entries(__privateGet(this, _runners))) {
1547
1548
  if (runner.runner.state === IRunnerState.completed || runner.runner.state === IRunnerState.error || runner.runner.state === IRunnerState.stopped || runner.runner.state === IRunnerState.terminated) {
1548
- promArray.push(__privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.RemoveRunnerFromCollection, runner.runner.id));
1549
+ promArray.push(__privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.RemoveRunnerFromCollection, runner.runner.id, false));
1549
1550
  removeList.push(runner.runner.id);
1550
1551
  }
1551
1552
  }
@@ -1576,7 +1577,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1576
1577
  return;
1577
1578
  });
1578
1579
  __publicField(this, "PostTelemetryById", (id) => {
1579
- __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.InstrumentTelemetry, id);
1580
+ __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.InstrumentTelemetry, id, false);
1580
1581
  });
1581
1582
  __privateAdd(this, _SetMessagePort, (workerMessagePort) => {
1582
1583
  try {
@@ -1619,7 +1620,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1619
1620
  try {
1620
1621
  if (__privateGet(this, _runners)[id]) {
1621
1622
  __privateGet(this, _runners)[id].runner.state = state;
1622
- __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.RunnerStateChange, id);
1623
+ __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.RunnerStateChange, id, false);
1623
1624
  } else {
1624
1625
  console.warn(`#UpdateRunnerStateById(): Runner ID: [${id}] not found`);
1625
1626
  }
@@ -1766,14 +1767,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1766
1767
  console.error(`#AddRunner(): [${error}]`);
1767
1768
  }
1768
1769
  });
1769
- __privateAdd(this, _PostMessageToWorkerManagerById, async (command, id) => {
1770
+ __privateAdd(this, _PostMessageToWorkerManagerById, async (command, runnerId, response) => {
1770
1771
  try {
1771
1772
  if (__privateGet(this, _collectorCollectorPort)) {
1772
- if (__privateGet(this, _runners)[id]) {
1773
+ if (__privateGet(this, _runners)[runnerId]) {
1773
1774
  const message = {
1774
1775
  command,
1775
1776
  payload: {
1776
- runner: __privateGet(this, _runners)[id].runner
1777
+ runner: __privateGet(this, _runners)[runnerId].runner
1777
1778
  }
1778
1779
  };
1779
1780
  __privateGet(this, _collectorCollectorPort).postMessage(message);
@@ -1784,6 +1785,24 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1784
1785
  console.error(`#PostMessageToWorkerManagerById(): [${error}]`);
1785
1786
  }
1786
1787
  });
1788
+ __privateAdd(this, _PostRunnersToWorkerManager, async (command, messagePayload) => {
1789
+ try {
1790
+ if (__privateGet(this, _collectorCollectorPort)) {
1791
+ const message = {
1792
+ command,
1793
+ payload: {
1794
+ messageId: messagePayload.payload.messageId,
1795
+ workerId: __privateGet(this, _workerId),
1796
+ runners: Object.values(__privateGet(this, _runners)).map((runnerEx) => runnerEx.runner)
1797
+ }
1798
+ };
1799
+ __privateGet(this, _collectorCollectorPort).postMessage(message);
1800
+ await stsutils.Sleep(0);
1801
+ }
1802
+ } catch (error) {
1803
+ console.error(`#PostRunnersToWorkerManager(): [${error}]`);
1804
+ }
1805
+ });
1787
1806
  __privateAdd(this, _StartRunner, async (testRunnerTelemetryPayload) => {
1788
1807
  var _a;
1789
1808
  try {
@@ -1997,6 +2016,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1997
2016
  __privateGet(this, _debug).call(this, `ProcessMessage::UpdateOptions`);
1998
2017
  __privateGet(this, _UpdateOptions).call(this, payloadMessage.payload);
1999
2018
  break;
2019
+ case eIWMessageCommands.GetRunners:
2020
+ __privateGet(this, _debug).call(this, `ProcessMessage::UpdateOptions`);
2021
+ __privateGet(this, _PostRunnersToWorkerManager).call(this, eIWMessageCommands.GetRunners, payloadMessage);
2022
+ break;
2000
2023
  default:
2001
2024
  __privateGet(this, _debug).call(this, `ProcessMessage::default`);
2002
2025
  __privateGet(this, _debug).call(this, `Invalid payloadMessage.command: [${payloadMessage.command}] - Ignoring`);
@@ -2044,6 +2067,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2044
2067
  });
2045
2068
  };
2046
2069
  _PostMessageToWorkerManagerById = new WeakMap();
2070
+ _PostRunnersToWorkerManager = new WeakMap();
2047
2071
  _StartRunner = new WeakMap();
2048
2072
  _StopRunnerByRunnerId = new WeakMap();
2049
2073
  _StopAllRunners = new WeakMap();
@@ -2198,6 +2222,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2198
2222
  chalk.level = 3;
2199
2223
  class STSWorkerManager {
2200
2224
  constructor(options) {
2225
+ __privateAdd(this, _STSWorkerManager_instances);
2201
2226
  //#agentSession: string = null;
2202
2227
  __privateAdd(this, _workersEx, {});
2203
2228
  __privateAdd(this, _options2);
@@ -2205,6 +2230,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2205
2230
  __privateAdd(this, _telemetryProcessor, null);
2206
2231
  __privateAdd(this, _archiveList, []);
2207
2232
  __privateAdd(this, _id);
2233
+ __privateAdd(this, _messages, {});
2208
2234
  __privateAdd(this, _processLoopExecutor2, async () => {
2209
2235
  const removeList = [];
2210
2236
  for (const [, workerEx] of Object.entries(__privateGet(this, _workersEx))) {
@@ -2253,7 +2279,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2253
2279
  __privateAdd(this, _debug2, (message) => {
2254
2280
  console.log(chalk.cyan(`pid: [${process.pid}] STSWorkerManager::${message}`));
2255
2281
  });
2256
- __publicField(this, "GetWorkers", () => {
2282
+ __publicField(this, "GetWorkers", async () => {
2283
+ await __privateGet(this, _SyncWorkerDataFromWorkers).call(this);
2257
2284
  const retVal = {};
2258
2285
  for (const [, workerEx] of Object.entries(__privateGet(this, _workersEx))) {
2259
2286
  retVal[workerEx.id] = this.CreateWorkerCopy(workerEx);
@@ -2263,10 +2290,12 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2263
2290
  __publicField(this, "GetArchiveList", () => {
2264
2291
  return __privateGet(this, _archiveList);
2265
2292
  });
2266
- __publicField(this, "GetWorker", (workerId) => {
2293
+ __publicField(this, "GetWorker", async (workerId) => {
2294
+ await __privateGet(this, _SyncWorkerDataFromWorker).call(this, __privateGet(this, _workersEx)[workerId]);
2267
2295
  return this.CreateWorkerCopy(__privateGet(this, _workersEx)[workerId]);
2268
2296
  });
2269
- __publicField(this, "GetRunner", (workerId, runnerId) => {
2297
+ __publicField(this, "GetRunner", async (workerId, runnerId) => {
2298
+ await __privateGet(this, _SyncWorkerDataFromWorker).call(this, __privateGet(this, _workersEx)[workerId]);
2270
2299
  return this.CreateRunnerCopy(__privateGet(this, _workersEx)[workerId].runnersEx[runnerId]);
2271
2300
  });
2272
2301
  __publicField(this, "AddWorker", (workerOptions, useWorkerFactory) => {
@@ -2292,7 +2321,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2292
2321
  options: workerOptions,
2293
2322
  runnersEx: {},
2294
2323
  runnersEvents: {},
2295
- GetRunner: (id) => __privateGet(this, _workersEx)[workerId].GetRunner(id),
2324
+ GetRunner: (id) => __privateGet(this, _workersEx)[workerId].runnersEx[id],
2296
2325
  // Commands to execute on individual runners
2297
2326
  AddRunner: (runnerOptions) => this.AddRunnerToWorker(stsWorkerEx, runnerOptions),
2298
2327
  StartRunner: (runner) => __privateGet(this, _StartRunner2).call(this, stsWorkerEx, runner),
@@ -2407,6 +2436,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2407
2436
  __privateGet(this, _debug2).call(this, `AddWorker:processMessage():eIWMessageCommands.RemoveRunnerFromCollection`);
2408
2437
  __privateGet(this, _debug2).call(this, `${JSON.stringify(publishMessagePayload2.payload)}`);
2409
2438
  __privateGet(this, _RemoveRunnerFromCollection).call(this, stsWorkerEx, publishMessagePayload2.payload);
2439
+ case eIWMessageCommands.GetRunners:
2440
+ __privateGet(this, _debug2).call(this, `AddWorker:processMessage():eIWMessageCommands.GetRunners`);
2441
+ __privateGet(this, _debug2).call(this, `${JSON.stringify(publishMessagePayload2.payload)}`);
2442
+ __privateMethod(this, _STSWorkerManager_instances, GetRunnersResponse_fn).call(this, stsWorkerEx, publishMessagePayload2.payload);
2410
2443
  break;
2411
2444
  default:
2412
2445
  __privateGet(this, _debug2).call(this, `processMessage::default`);
@@ -2447,12 +2480,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2447
2480
  const { runner } = payloadContents;
2448
2481
  if (workerEx.runnersEx[runner.id]) {
2449
2482
  const runnerEx = workerEx.runnersEx[runner.id];
2450
- runnerEx.instrumentData = { ...runner.instrumentData };
2451
- if (runner.instrumentData.message) {
2452
- runnerEx.instrumentData.message = [...runner.instrumentData.message];
2453
- } else {
2454
- runnerEx.instrumentData.message = [];
2455
- }
2483
+ __privateGet(this, _SyncRunnerData).call(this, runnerEx, runner);
2456
2484
  if (runnerEx.publishInstrumentController && __privateGet(this, _telemetryProcessor)) {
2457
2485
  __privateGet(this, _telemetryProcessor).ProcessTelemetry(runnerEx.publishInstrumentController, runnerEx.instrumentData);
2458
2486
  }
@@ -2491,8 +2519,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2491
2519
  eventDate: /* @__PURE__ */ new Date(),
2492
2520
  runner: { ...runner }
2493
2521
  });
2494
- runnerEx.instrumentData = { ...runner.instrumentData };
2495
- runnerEx.iteration = runner.iteration;
2522
+ __privateGet(this, _SyncRunnerData).call(this, runnerEx, runner);
2496
2523
  __privateGet(this, _debug2).call(this, `STSWorkerManager:#RunnerStateChange(): Worker: [${workerEx.id}] Runner: [${runner.id}]`);
2497
2524
  __privateGet(this, _debug2).call(this, `STSWorkerManager:#RunnerStateChange(): --> Runner iteration (payload): [${runner.iteration}]`);
2498
2525
  __privateGet(this, _debug2).call(this, `STSWorkerManager:#RunnerStateChange(): --> Runner instrumentData.requestCount (payload): [${runner.instrumentData.requestCount}]`);
@@ -2808,6 +2835,52 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2808
2835
  __publicField(this, "UpdateAllWorkers", (options) => {
2809
2836
  return __privateGet(this, _HandleAllWorkers).call(this, "UpdateOptions", options);
2810
2837
  });
2838
+ __privateAdd(this, _SyncRunnerData, (runnerEx, runner) => {
2839
+ runnerEx.iteration = runner.iteration;
2840
+ runnerEx.state = runner.state;
2841
+ runnerEx.instrumentData = { ...runner.instrumentData };
2842
+ });
2843
+ __privateAdd(this, _SyncWorkerDataFromPayload, (payload) => {
2844
+ const runnersEx = __privateGet(this, _workersEx)[payload.workerId].runnersEx;
2845
+ payload.runners.forEach((runner) => {
2846
+ __privateGet(this, _SyncRunnerData).call(this, runnersEx[runner.id], runner);
2847
+ });
2848
+ });
2849
+ __privateAdd(this, _SyncWorkerDataFromWorker, async (workerEx) => {
2850
+ const retVal = await __privateGet(this, _PostMessageToWorkerGetRunners).call(this, workerEx, eIWMessageCommands.GetRunners);
2851
+ __privateGet(this, _SyncWorkerDataFromPayload).call(this, retVal.payload);
2852
+ return retVal;
2853
+ });
2854
+ __privateAdd(this, _SyncWorkerDataFromWorkers, async () => {
2855
+ const retVal = await Promise.all(Object.values(__privateGet(this, _workersEx)).map((workerEx) => __privateGet(this, _PostMessageToWorkerGetRunners).call(this, workerEx, eIWMessageCommands.GetRunners)));
2856
+ retVal.forEach((messagePayload) => {
2857
+ __privateGet(this, _SyncWorkerDataFromPayload).call(this, messagePayload.payload);
2858
+ });
2859
+ return retVal;
2860
+ });
2861
+ __privateAdd(this, _PostMessageToWorkerGetRunners, async (workerEx, command) => {
2862
+ return new Promise((resolve, reject) => {
2863
+ try {
2864
+ __privateGet(this, _debug2).call(this, `#PostMessageToWorker`);
2865
+ const messageId = v4();
2866
+ __privateGet(this, _messages)[messageId] = {
2867
+ timeout: setTimeout(() => {
2868
+ delete __privateGet(this, _messages)[messageId];
2869
+ reject(`message response timeout for message id: [${messageId}], command: [${command}]`);
2870
+ }, 5e3),
2871
+ resolveMessage: (payload2) => {
2872
+ resolve(payload2);
2873
+ }
2874
+ };
2875
+ const payload = {
2876
+ messageId
2877
+ };
2878
+ workerEx.messagePort.postMessage({ command, payload });
2879
+ } catch (error) {
2880
+ console.error(`#PostMessageToWorkerGetRunners(): Error: [${error}]`);
2881
+ }
2882
+ });
2883
+ });
2811
2884
  __privateSet(this, _id, v4());
2812
2885
  if (options) {
2813
2886
  __privateSet(this, _options2, options);
@@ -2871,6 +2944,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2871
2944
  _telemetryProcessor = new WeakMap();
2872
2945
  _archiveList = new WeakMap();
2873
2946
  _id = new WeakMap();
2947
+ _messages = new WeakMap();
2874
2948
  _processLoopExecutor2 = new WeakMap();
2875
2949
  _debug2 = new WeakMap();
2876
2950
  _SetRunnerIntoWorker = new WeakMap();
@@ -2900,6 +2974,37 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2900
2974
  _TerminateWorker = new WeakMap();
2901
2975
  _BroadcastCommandToAllRunners = new WeakMap();
2902
2976
  _HandleAllWorkers = new WeakMap();
2977
+ _STSWorkerManager_instances = new WeakSet();
2978
+ //GetWorkersEx = async (messageId: string, workerEx: IWorkerEx): Promise<IWorkers> => {
2979
+ //const retVal2 = await this.#PostMessageToWorkerGetRunners(workerEx, eIWMessageCommands.GetRunners);
2980
+ //});
2981
+ //}
2982
+ GetRunnersResponse_fn = function(stsWorkerEx, payload) {
2983
+ try {
2984
+ const messageId = payload.messageId;
2985
+ if (__privateGet(this, _messages)[messageId]) {
2986
+ const messageRecord = __privateGet(this, _messages)[messageId];
2987
+ clearTimeout(messageRecord.timeout);
2988
+ const returnPayload = {
2989
+ command: eIWMessageCommands.GetRunners,
2990
+ payload: {
2991
+ messageId,
2992
+ workerId: stsWorkerEx.id,
2993
+ runners: payload.runners
2994
+ }
2995
+ };
2996
+ delete __privateGet(this, _messages)[messageId];
2997
+ messageRecord.resolveMessage(returnPayload);
2998
+ }
2999
+ } catch (error) {
3000
+ console.error(`#GetRunnersResponse(): Error: [${error}]`);
3001
+ }
3002
+ };
3003
+ _SyncRunnerData = new WeakMap();
3004
+ _SyncWorkerDataFromPayload = new WeakMap();
3005
+ _SyncWorkerDataFromWorker = new WeakMap();
3006
+ _SyncWorkerDataFromWorkers = new WeakMap();
3007
+ _PostMessageToWorkerGetRunners = new WeakMap();
2903
3008
  exports2.IRunnerState = IRunnerState;
2904
3009
  exports2.IWorkerState = IWorkerState;
2905
3010
  exports2.PublishMessageCommandsTestRunner = PublishMessageCommandsTestRunner;