@loadmill/executer 0.1.142 → 0.1.144

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.
Files changed (139) hide show
  1. package/dist/request-stats.d.ts +2 -1
  2. package/dist/request-stats.js +4 -4
  3. package/dist/request-stats.js.map +1 -1
  4. package/dist/sampler.js +2 -1
  5. package/dist/sampler.js.map +1 -1
  6. package/dist/sequence-executor-like.d.ts +1 -0
  7. package/dist/sequence.js +40 -16
  8. package/dist/sequence.js.map +1 -1
  9. package/{package/dist/step-handlers/code-step-handler.d.ts → dist/step-handlers/wait-step-handler.d.ts} +3 -3
  10. package/{package/dist/step-handlers/extract-step-handler.js → dist/step-handlers/wait-step-handler.js} +16 -19
  11. package/dist/step-handlers/wait-step-handler.js.map +1 -0
  12. package/package.json +3 -3
  13. package/package/dist/asserter.d.ts +0 -9
  14. package/package/dist/asserter.js +0 -158
  15. package/package/dist/asserter.js.map +0 -1
  16. package/package/dist/constants.d.ts +0 -7
  17. package/package/dist/constants.js +0 -13
  18. package/package/dist/constants.js.map +0 -1
  19. package/package/dist/cookies.d.ts +0 -4
  20. package/package/dist/cookies.js +0 -79
  21. package/package/dist/cookies.js.map +0 -1
  22. package/package/dist/errors.d.ts +0 -5
  23. package/package/dist/errors.js +0 -38
  24. package/package/dist/errors.js.map +0 -1
  25. package/package/dist/extraction-combiner.d.ts +0 -17
  26. package/package/dist/extraction-combiner.js +0 -182
  27. package/package/dist/extraction-combiner.js.map +0 -1
  28. package/package/dist/failures.d.ts +0 -24
  29. package/package/dist/failures.js +0 -67
  30. package/package/dist/failures.js.map +0 -1
  31. package/package/dist/grpc.d.ts +0 -34
  32. package/package/dist/grpc.js +0 -269
  33. package/package/dist/grpc.js.map +0 -1
  34. package/package/dist/iteration-stats.d.ts +0 -2
  35. package/package/dist/iteration-stats.js +0 -38
  36. package/package/dist/iteration-stats.js.map +0 -1
  37. package/package/dist/message-creators.d.ts +0 -31
  38. package/package/dist/message-creators.js +0 -90
  39. package/package/dist/message-creators.js.map +0 -1
  40. package/package/dist/mill-info.d.ts +0 -70
  41. package/package/dist/mill-info.js +0 -3
  42. package/package/dist/mill-info.js.map +0 -1
  43. package/package/dist/mill-version.d.ts +0 -6
  44. package/package/dist/mill-version.js +0 -10
  45. package/package/dist/mill-version.js.map +0 -1
  46. package/package/dist/parameter-pools.d.ts +0 -3
  47. package/package/dist/parameter-pools.js +0 -69
  48. package/package/dist/parameter-pools.js.map +0 -1
  49. package/package/dist/performance.d.ts +0 -1
  50. package/package/dist/performance.js +0 -10
  51. package/package/dist/performance.js.map +0 -1
  52. package/package/dist/post-script/ast-walker/index.d.ts +0 -18
  53. package/package/dist/post-script/ast-walker/index.js +0 -215
  54. package/package/dist/post-script/ast-walker/index.js.map +0 -1
  55. package/package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  56. package/package/dist/post-script/ast-walker/type-guard.js +0 -56
  57. package/package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  58. package/package/dist/post-script/ast-walker/types.d.ts +0 -24
  59. package/package/dist/post-script/ast-walker/types.js +0 -25
  60. package/package/dist/post-script/ast-walker/types.js.map +0 -1
  61. package/package/dist/post-script/console-log.d.ts +0 -7
  62. package/package/dist/post-script/console-log.js +0 -31
  63. package/package/dist/post-script/console-log.js.map +0 -1
  64. package/package/dist/post-script/constants.d.ts +0 -4
  65. package/package/dist/post-script/constants.js +0 -9
  66. package/package/dist/post-script/constants.js.map +0 -1
  67. package/package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  68. package/package/dist/post-script/parser/acorn-js-parser.js +0 -20
  69. package/package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  70. package/package/dist/post-script/parser/js-parser.d.ts +0 -16
  71. package/package/dist/post-script/parser/js-parser.js +0 -3
  72. package/package/dist/post-script/parser/js-parser.js.map +0 -1
  73. package/package/dist/post-script/parser/parser.d.ts +0 -6
  74. package/package/dist/post-script/parser/parser.js +0 -3
  75. package/package/dist/post-script/parser/parser.js.map +0 -1
  76. package/package/dist/post-script/post-script-executor.d.ts +0 -24
  77. package/package/dist/post-script/post-script-executor.js +0 -125
  78. package/package/dist/post-script/post-script-executor.js.map +0 -1
  79. package/package/dist/post-script/virtual-machine/virtual-machine.d.ts +0 -13
  80. package/package/dist/post-script/virtual-machine/virtual-machine.js +0 -3
  81. package/package/dist/post-script/virtual-machine/virtual-machine.js.map +0 -1
  82. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +0 -12
  83. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js +0 -81
  84. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +0 -1
  85. package/package/dist/post-sequence.d.ts +0 -2
  86. package/package/dist/post-sequence.js +0 -192
  87. package/package/dist/post-sequence.js.map +0 -1
  88. package/package/dist/redact-data.d.ts +0 -2
  89. package/package/dist/redact-data.js +0 -60
  90. package/package/dist/redact-data.js.map +0 -1
  91. package/package/dist/report-types.d.ts +0 -102
  92. package/package/dist/report-types.js +0 -11
  93. package/package/dist/report-types.js.map +0 -1
  94. package/package/dist/request-sequence-result.d.ts +0 -37
  95. package/package/dist/request-sequence-result.js +0 -19
  96. package/package/dist/request-sequence-result.js.map +0 -1
  97. package/package/dist/request-stats.d.ts +0 -13
  98. package/package/dist/request-stats.js +0 -14
  99. package/package/dist/request-stats.js.map +0 -1
  100. package/package/dist/res-keeper.d.ts +0 -16
  101. package/package/dist/res-keeper.js +0 -104
  102. package/package/dist/res-keeper.js.map +0 -1
  103. package/package/dist/sampler.d.ts +0 -29
  104. package/package/dist/sampler.js +0 -276
  105. package/package/dist/sampler.js.map +0 -1
  106. package/package/dist/sequence-executor-like.d.ts +0 -23
  107. package/package/dist/sequence-executor-like.js +0 -3
  108. package/package/dist/sequence-executor-like.js.map +0 -1
  109. package/package/dist/sequence.d.ts +0 -16
  110. package/package/dist/sequence.js +0 -1738
  111. package/package/dist/sequence.js.map +0 -1
  112. package/package/dist/single-runner.d.ts +0 -29
  113. package/package/dist/single-runner.js +0 -147
  114. package/package/dist/single-runner.js.map +0 -1
  115. package/package/dist/step-handlers/code-step-handler.js +0 -93
  116. package/package/dist/step-handlers/code-step-handler.js.map +0 -1
  117. package/package/dist/step-handlers/extract-step-handler.d.ts +0 -12
  118. package/package/dist/step-handlers/extract-step-handler.js.map +0 -1
  119. package/package/dist/step-handlers/request-step-handler.d.ts +0 -13
  120. package/package/dist/step-handlers/request-step-handler.js +0 -94
  121. package/package/dist/step-handlers/request-step-handler.js.map +0 -1
  122. package/package/dist/step-handlers/step-handler.d.ts +0 -11
  123. package/package/dist/step-handlers/step-handler.js +0 -3
  124. package/package/dist/step-handlers/step-handler.js.map +0 -1
  125. package/package/dist/test-run-event-emitter.d.ts +0 -15
  126. package/package/dist/test-run-event-emitter.js +0 -36
  127. package/package/dist/test-run-event-emitter.js.map +0 -1
  128. package/package/dist/types/grpc.d.ts +0 -14
  129. package/package/dist/types/grpc.js +0 -3
  130. package/package/dist/types/grpc.js.map +0 -1
  131. package/package/dist/utils.d.ts +0 -3
  132. package/package/dist/utils.js +0 -32
  133. package/package/dist/utils.js.map +0 -1
  134. package/package/dist/work.d.ts +0 -15
  135. package/package/dist/work.js +0 -3
  136. package/package/dist/work.js.map +0 -1
  137. package/package/dist/ws.d.ts +0 -71
  138. package/package/dist/ws.js +0 -474
  139. package/package/dist/ws.js.map +0 -1
@@ -1,37 +0,0 @@
1
- import { Failures } from './failures';
2
- import { PerRequestStats } from './request-stats';
3
- import { GRPC, LoadmillHeaders, PostFormData, RequestPostData } from '@loadmill/core/dist/request';
4
- import { CookiesDetails } from '@loadmill/core/dist/conf/types';
5
- import { ResolvedStep } from '@loadmill/core/dist/step';
6
- import { Step } from '@loadmill/core/dist/step/step-type';
7
- export declare function extendSequenceResult(result: RequestSequenceResult, requests: Step[]): ExtendedSequenceResult;
8
- export interface ExtendedSequenceResult extends RequestSequenceResult {
9
- resolvedRequests: ExtendedRequest[];
10
- err?: string;
11
- }
12
- export interface RequestSequenceResult {
13
- failures: Failures;
14
- evaluatingFailures?: Failures;
15
- avgResTime: number;
16
- successfulHits: number;
17
- lastStartedIndex: number;
18
- requestStats: PerRequestStats;
19
- resolvedRequests: ResolvedStep[];
20
- cookies?: CookiesDetails;
21
- }
22
- export declare type ExtendedRequest = Step & ResolvedRequest;
23
- export interface ResolvedRequest extends ResolvedStep {
24
- url?: string;
25
- headers?: LoadmillHeaders[];
26
- postData?: RequestPostData;
27
- postFormData?: PostFormData;
28
- grpc?: GRPC;
29
- response?: RequestResponse;
30
- }
31
- export interface RequestResponse {
32
- type: string;
33
- text: string;
34
- status: number;
35
- statusText: string;
36
- headers: LoadmillHeaders[];
37
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.extendSequenceResult = void 0;
15
- function extendSequenceResult(result, requests) {
16
- return __assign(__assign({}, result), { resolvedRequests: requests.map(function (request, index) { return (__assign(__assign({}, request), result.resolvedRequests[index])); }) });
17
- }
18
- exports.extendSequenceResult = extendSequenceResult;
19
- //# sourceMappingURL=request-sequence-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-sequence-result.js","sourceRoot":"","sources":["../src/request-sequence-result.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAYA,SAAgB,oBAAoB,CAClC,MAA6B,EAC7B,QAAgB;IAEhB,6BACK,MAAM,KACT,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAa,IAAK,OAAA,uBACtD,OAAO,GACP,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACjC,EAHyD,CAGzD,CAAC,IACH;AACJ,CAAC;AAXD,oDAWC"}
@@ -1,13 +0,0 @@
1
- export interface PerRequestStats {
2
- [index: number]: RequestStats;
3
- }
4
- export interface RequestStats {
5
- resTimes: number[];
6
- }
7
- export interface PerRequestResTime {
8
- [index: number]: {
9
- weight: number;
10
- avg: number;
11
- };
12
- }
13
- export declare function setReqStats(reqStats: PerRequestStats, index: any, ...resTimes: number[]): void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setReqStats = void 0;
4
- function setReqStats(reqStats, index) {
5
- var _a;
6
- var resTimes = [];
7
- for (var _i = 2; _i < arguments.length; _i++) {
8
- resTimes[_i - 2] = arguments[_i];
9
- }
10
- var stats = reqStats[index] || (reqStats[index] = { resTimes: [] });
11
- (_a = stats.resTimes).push.apply(_a, resTimes);
12
- }
13
- exports.setReqStats = setReqStats;
14
- //# sourceMappingURL=request-stats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-stats.js","sourceRoot":"","sources":["../src/request-stats.ts"],"names":[],"mappings":";;;AAYA,SAAgB,WAAW,CACzB,QAAyB,EACzB,KAAK;;IACL,kBAAqB;SAArB,UAAqB,EAArB,qBAAqB,EAArB,IAAqB;QAArB,iCAAqB;;IAErB,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,CAAA,KAAA,KAAK,CAAC,QAAQ,CAAA,CAAC,IAAI,WAAI,QAAQ,EAAE;AACnC,CAAC;AAPD,kCAOC"}
@@ -1,16 +0,0 @@
1
- import { ObjectMap } from '@loadmill/universal/dist/object-map';
2
- import { RequestSequenceResult } from './request-sequence-result';
3
- export declare class ResKeeper {
4
- private generateResultKey?;
5
- knownKeysToResults: {
6
- [key: string]: string;
7
- };
8
- results: ObjectMap<RequestSequenceResult>;
9
- constructor(generateResultKey?: any);
10
- getKnownKeys: () => string[];
11
- mapToResultIds: (failureKeys: any) => {
12
- [key: string]: string;
13
- };
14
- keepIfNeeded: (result: RequestSequenceResult, keepFor?: number | undefined) => void;
15
- popForKeys: (failureKeys: string[], withIds?: boolean) => (RequestSequenceResult | undefined)[];
16
- }
@@ -1,104 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.ResKeeper = void 0;
23
- var object_map_1 = require("@loadmill/universal/dist/object-map");
24
- var promiseUtils = __importStar(require("@loadmill/universal/dist/promise-utils"));
25
- var failures_1 = require("./failures");
26
- var ResKeeper = /** @class */ (function () {
27
- function ResKeeper(generateResultKey) {
28
- var _this = this;
29
- Object.defineProperty(this, "generateResultKey", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: generateResultKey
34
- });
35
- Object.defineProperty(this, "knownKeysToResults", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: {}
40
- });
41
- Object.defineProperty(this, "results", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: new object_map_1.ObjectMap(this.generateResultKey)
46
- });
47
- Object.defineProperty(this, "getKnownKeys", {
48
- enumerable: true,
49
- configurable: true,
50
- writable: true,
51
- value: function () { return Object.keys(_this.knownKeysToResults); }
52
- });
53
- Object.defineProperty(this, "mapToResultIds", {
54
- enumerable: true,
55
- configurable: true,
56
- writable: true,
57
- value: function (failureKeys) {
58
- var map = {};
59
- failureKeys.forEach(function (key) { return (map[key] = _this.knownKeysToResults[key]); });
60
- return map;
61
- }
62
- });
63
- Object.defineProperty(this, "keepIfNeeded", {
64
- enumerable: true,
65
- configurable: true,
66
- writable: true,
67
- value: function (result, keepFor) {
68
- var failureKeys = failures_1.getFailureKeys(result.failures);
69
- if (failureKeys.find(function (key) { return !_this.knownKeysToResults[key]; })) {
70
- // We keep it:
71
- var id_1 = _this.results.add(result);
72
- failureKeys.forEach(function (key) { return (_this.knownKeysToResults[key] = id_1); });
73
- if (keepFor) {
74
- promiseUtils.delay(keepFor).then(function () { return _this.results.remove(id_1); });
75
- }
76
- }
77
- }
78
- });
79
- Object.defineProperty(this, "popForKeys", {
80
- enumerable: true,
81
- configurable: true,
82
- writable: true,
83
- value: function (failureKeys, withIds) {
84
- if (withIds === void 0) { withIds = false; }
85
- return failureKeys
86
- .map(function (key) {
87
- var id = _this.knownKeysToResults[key];
88
- if (id) {
89
- var res = _this.results.get(id);
90
- _this.results.remove(id);
91
- if (withIds && res) {
92
- res['id'] = id;
93
- }
94
- return res;
95
- }
96
- })
97
- .filter(Boolean);
98
- }
99
- });
100
- }
101
- return ResKeeper;
102
- }());
103
- exports.ResKeeper = ResKeeper;
104
- //# sourceMappingURL=res-keeper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"res-keeper.js","sourceRoot":"","sources":["../src/res-keeper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAgE;AAChE,mFAAuE;AACvE,uCAA4C;AAG5C;IAIE,mBAAoB,iBAAkB;QAAtC,iBAA0C;;;;;mBAAtB;;QAHpB;;;;mBAAgD,EAAE;WAAC;QACnD;;;;mBAAU,IAAI,sBAAS,CAAwB,IAAI,CAAC,iBAAiB,CAAC;WAAC;QAIvE;;;;mBAAe,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,EAApC,CAAoC;WAAC;QAE1D;;;;mBAAiB,UAAC,WAAW;gBAC3B,IAAM,GAAG,GAA8B,EAAE,CAAC;gBAC1C,WAAW,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAzC,CAAyC,CAAC,CAAC;gBAExE,OAAO,GAAG,CAAC;YACb,CAAC;WAAC;QAEF;;;;mBAAe,UAAC,MAA6B,EAAE,OAAgB;gBAC7D,IAAM,WAAW,GAAG,yBAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEpD,IAAI,WAAW,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAA7B,CAA6B,CAAC,EAAE;oBAC5D,cAAc;oBACd,IAAM,IAAE,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,WAAW,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAE,CAAC,EAAnC,CAAmC,CAAC,CAAC;oBAElE,IAAI,OAAO,EAAE;wBACX,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC;WAAC;QAEF;;;;mBAAa,UAAC,WAAqB,EAAE,OAAe;gBAAf,wBAAA,EAAA,eAAe;gBAClD,OAAO,WAAW;qBACf,GAAG,CAAC,UAAC,GAAG;oBACP,IAAM,EAAE,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAExC,IAAI,EAAE,EAAE;wBACN,IAAM,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACjC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAExB,IAAI,OAAO,IAAI,GAAG,EAAE;4BAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;yBAChB;wBAED,OAAO,GAAG,CAAC;qBACZ;gBACH,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;WAAC;IA1CuC,CAAC;IA2C5C,gBAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,8BAAS"}
@@ -1,29 +0,0 @@
1
- import { Failures } from './failures';
2
- import { PerRequestStats } from './request-stats';
3
- import { Work } from './work';
4
- export interface SamplerFaja {
5
- cancelWork(finished: boolean): any;
6
- send(obj: string): any;
7
- reportIntervalId: any;
8
- isStopped: boolean;
9
- keeper: any;
10
- }
11
- export declare class Sampler {
12
- private samplerMill;
13
- private work;
14
- avgResTime: number;
15
- expired: boolean;
16
- successfulHits: number;
17
- failedIterations: number;
18
- startedIterations: number;
19
- failures: Failures;
20
- successfulIterations: number;
21
- requestStats: PerRequestStats;
22
- avgIterationTime: number;
23
- iterationTimes: number[];
24
- constructor(samplerMill: SamplerFaja, work: Work);
25
- startSampling: () => void;
26
- runAll: () => Promise<void>;
27
- isDone: () => boolean;
28
- sendReport: () => void;
29
- }
@@ -1,276 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
58
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
59
- to[j] = from[i];
60
- return to;
61
- };
62
- var __importDefault = (this && this.__importDefault) || function (mod) {
63
- return (mod && mod.__esModule) ? mod : { "default": mod };
64
- };
65
- Object.defineProperty(exports, "__esModule", { value: true });
66
- exports.Sampler = void 0;
67
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
68
- var mathUtils = __importStar(require("@loadmill/universal/dist/math-utils"));
69
- var promiseUtils = __importStar(require("@loadmill/universal/dist/promise-utils"));
70
- var conf_1 = require("@loadmill/core/dist/conf");
71
- var single_runner_1 = require("./single-runner");
72
- var failures_1 = require("./failures");
73
- var request_stats_1 = require("./request-stats");
74
- var iteration_stats_1 = require("./iteration-stats");
75
- var message_creators_1 = require("./message-creators");
76
- var defaults_1 = require("@loadmill/core/dist/conf/defaults");
77
- // 5 minutes:
78
- var RES_KEEP_TIME = 5 * 60 * 1000;
79
- var Sampler = /** @class */ (function () {
80
- function Sampler(samplerMill, work) {
81
- var _this = this;
82
- Object.defineProperty(this, "samplerMill", {
83
- enumerable: true,
84
- configurable: true,
85
- writable: true,
86
- value: samplerMill
87
- });
88
- Object.defineProperty(this, "work", {
89
- enumerable: true,
90
- configurable: true,
91
- writable: true,
92
- value: work
93
- });
94
- Object.defineProperty(this, "avgResTime", {
95
- enumerable: true,
96
- configurable: true,
97
- writable: true,
98
- value: 0
99
- });
100
- Object.defineProperty(this, "expired", {
101
- enumerable: true,
102
- configurable: true,
103
- writable: true,
104
- value: false
105
- });
106
- Object.defineProperty(this, "successfulHits", {
107
- enumerable: true,
108
- configurable: true,
109
- writable: true,
110
- value: 0
111
- });
112
- Object.defineProperty(this, "failedIterations", {
113
- enumerable: true,
114
- configurable: true,
115
- writable: true,
116
- value: 0
117
- });
118
- Object.defineProperty(this, "startedIterations", {
119
- enumerable: true,
120
- configurable: true,
121
- writable: true,
122
- value: 0
123
- });
124
- Object.defineProperty(this, "failures", {
125
- enumerable: true,
126
- configurable: true,
127
- writable: true,
128
- value: {}
129
- });
130
- Object.defineProperty(this, "successfulIterations", {
131
- enumerable: true,
132
- configurable: true,
133
- writable: true,
134
- value: 0
135
- });
136
- Object.defineProperty(this, "requestStats", {
137
- enumerable: true,
138
- configurable: true,
139
- writable: true,
140
- value: {}
141
- });
142
- Object.defineProperty(this, "avgIterationTime", {
143
- enumerable: true,
144
- configurable: true,
145
- writable: true,
146
- value: 0
147
- });
148
- Object.defineProperty(this, "iterationTimes", {
149
- enumerable: true,
150
- configurable: true,
151
- writable: true,
152
- value: []
153
- });
154
- Object.defineProperty(this, "startSampling", {
155
- enumerable: true,
156
- configurable: true,
157
- writable: true,
158
- value: function () {
159
- _this.samplerMill.cancelWork(false);
160
- promiseUtils.delay(_this.work.duration || defaults_1.DEFAULT_DURATION).then(function () {
161
- if (!_this.samplerMill.isStopped) {
162
- log_1.default.debug('Time\'s up!');
163
- _this.expired = true;
164
- _this.sendReport();
165
- }
166
- });
167
- var requests = _this.work.requests;
168
- var iterationDelay = _this.work.iterationDelay || defaults_1.DEFAULT_ITERATION_DELAY;
169
- var reportDelayy = conf_1.reportDelay(iterationDelay, requests);
170
- _this.samplerMill.reportIntervalId = setInterval(_this.sendReport, reportDelayy);
171
- _this.samplerMill.isStopped = false;
172
- _this.runAll();
173
- }
174
- });
175
- Object.defineProperty(this, "runAll", {
176
- enumerable: true,
177
- configurable: true,
178
- writable: true,
179
- value: function () { return __awaiter(_this, void 0, void 0, function () {
180
- var _loop_1, this_1;
181
- var _this = this;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0:
185
- _loop_1 = function () {
186
- var res, resFailures, iterationDuration, skipCount;
187
- return __generator(this, function (_b) {
188
- switch (_b.label) {
189
- case 0:
190
- ++this_1.startedIterations;
191
- log_1.default.trace('Executing iteration: ', this_1.startedIterations);
192
- return [4 /*yield*/, single_runner_1.runSingleIteration(this_1.work)];
193
- case 1:
194
- res = _b.sent();
195
- this_1.samplerMill.keeper.keepIfNeeded(res, RES_KEEP_TIME);
196
- resFailures = res.failures;
197
- if (!resFailures || Object.keys(resFailures).length === 0) {
198
- ++this_1.successfulIterations;
199
- }
200
- else {
201
- ++this_1.failedIterations;
202
- failures_1.mergeFailures(this_1.failures, resFailures);
203
- }
204
- this_1.avgResTime = mathUtils.calcAvg(this_1.avgResTime, this_1.successfulHits, res.avgResTime, res.successfulHits);
205
- this_1.successfulHits += res.successfulHits;
206
- Object.keys(res.requestStats).forEach(function (index) {
207
- request_stats_1.setReqStats.apply(void 0, __spreadArray([_this.requestStats, index], res.requestStats[index].resTimes));
208
- });
209
- iterationDuration = iteration_stats_1.calcIterationDuration(res);
210
- this_1.iterationTimes.push(iterationDuration);
211
- this_1.avgIterationTime = mathUtils.calcAvg(this_1.avgIterationTime, this_1.successfulIterations + this_1.failedIterations - 1, iterationDuration, 1);
212
- if (!!this_1.isDone()) return [3 /*break*/, 3];
213
- skipCount = res.lastStartedIndex + 1;
214
- return [4 /*yield*/, promiseUtils.delay(conf_1.minimalRemainingDuration(this_1.work.iterationDelay || defaults_1.DEFAULT_ITERATION_DELAY, this_1.work.requests, skipCount))];
215
- case 2:
216
- _b.sent();
217
- _b.label = 3;
218
- case 3: return [2 /*return*/];
219
- }
220
- });
221
- };
222
- this_1 = this;
223
- _a.label = 1;
224
- case 1:
225
- if (!!this.isDone()) return [3 /*break*/, 3];
226
- return [5 /*yield**/, _loop_1()];
227
- case 2:
228
- _a.sent();
229
- return [3 /*break*/, 1];
230
- case 3:
231
- if (!this.samplerMill.isStopped) {
232
- log_1.default.debug('Finished last iteration:', this.startedIterations);
233
- this.sendReport();
234
- this.samplerMill.cancelWork(true);
235
- }
236
- return [2 /*return*/];
237
- }
238
- });
239
- }); }
240
- });
241
- Object.defineProperty(this, "isDone", {
242
- enumerable: true,
243
- configurable: true,
244
- writable: true,
245
- value: function () {
246
- return _this.samplerMill.isStopped || _this.expired || _this.startedIterations >= _this.work.iterations;
247
- }
248
- });
249
- Object.defineProperty(this, "sendReport", {
250
- enumerable: true,
251
- configurable: true,
252
- writable: true,
253
- value: function () {
254
- var report = {
255
- failures: _this.failures,
256
- hits: _this.successfulHits,
257
- avgResTime: _this.avgResTime,
258
- requestStats: _this.requestStats,
259
- failedIterations: _this.failedIterations,
260
- successfulIterations: _this.successfulIterations,
261
- avgIterationTime: _this.avgIterationTime,
262
- iterationTimes: _this.iterationTimes,
263
- };
264
- log_1.default.trace('Sending report:', report);
265
- _this.samplerMill.send(message_creators_1.messageCreators.report(report));
266
- _this.failures = {};
267
- _this.requestStats = {};
268
- _this.successfulIterations = _this.successfulHits = _this.failedIterations = _this.avgResTime = _this.avgIterationTime = 0;
269
- _this.iterationTimes = [];
270
- }
271
- });
272
- }
273
- return Sampler;
274
- }());
275
- exports.Sampler = Sampler;
276
- //# sourceMappingURL=sampler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import superagent from 'superagent';
2
- import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
3
- import { Step } from '@loadmill/core/dist/step/step-type';
4
- import { LoadmillRequest } from '@loadmill/core/dist/request';
5
- import { Extractable } from '@loadmill/core/dist/step/extractable';
6
- import { Assertable } from '@loadmill/core/dist/step/assertable';
7
- import { RequestResponse, RequestSequenceResult } from './request-sequence-result';
8
- import { WSRequest } from './ws';
9
- import { GRPCRequest } from './grpc';
10
- import { Histogram } from './failures';
11
- export interface SequenceExecutorLike {
12
- parameters: SequenceExecutorParameters;
13
- lastResponseBody: string;
14
- startAndPass(steps: Step[]): Promise<RequestSequenceResult>;
15
- handlePostScript(step: Step, res: any, index: number): void;
16
- setTimeParams(requestStartTime: number, beforeTime: number): void;
17
- setPostParameters(index: number): void;
18
- prepareRequest(request: LoadmillRequest, index: number): superagent.agent | WSRequest | GRPCRequest;
19
- sendRequest(request: superagent.agent | WSRequest | GRPCRequest, index: number): Promise<Partial<RequestResponse>>;
20
- processSuccessfulResponse(index: number, request: LoadmillRequest, res: any): Promise<Histogram>;
21
- handleExtractions(request: Extractable, res: any): Promise<void>;
22
- handleAssertions(index: number, step: Assertable): Histogram;
23
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=sequence-executor-like.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence-executor-like.js","sourceRoot":"","sources":["../src/sequence-executor-like.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { RequestSequenceResult } from './request-sequence-result';
2
- import { Parameters } from '@loadmill/core/dist/parameters';
3
- import { Step } from '@loadmill/core/dist/step/step-type';
4
- export declare const reqIdParamName = "loadmill-request-id";
5
- export declare const sequence: {
6
- execute(httpAgent: any, requests: Step[], parameters: Parameters[], domainsWhiteList: string[], sequenceOptions: SequenceOptions, protoFileRootPath?: string | undefined): Promise<RequestSequenceResult>;
7
- };
8
- declare type SequenceOptions = {
9
- increaseResSize?: boolean;
10
- sequentialParameterPools?: boolean;
11
- sensitiveData?: boolean;
12
- sensitiveKeys?: string[];
13
- metricsKeys?: string[];
14
- xmlDecode?: boolean;
15
- };
16
- export {};