@loadmill/executer 0.1.143 → 0.1.145

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 (159) hide show
  1. package/dist/post-script/post-script-executor.js +6 -2
  2. package/dist/post-script/post-script-executor.js.map +1 -1
  3. package/dist/redact-data.js +1 -1
  4. package/dist/redact-data.js.map +1 -1
  5. package/dist/request-stats.d.ts +2 -1
  6. package/dist/request-stats.js +4 -4
  7. package/dist/request-stats.js.map +1 -1
  8. package/dist/sampler.js +2 -1
  9. package/dist/sampler.js.map +1 -1
  10. package/dist/sequence.js +9 -5
  11. package/dist/sequence.js.map +1 -1
  12. package/package.json +3 -3
  13. package/dist/post-script/ast-walker/index.d.ts +0 -18
  14. package/dist/post-script/ast-walker/index.js +0 -215
  15. package/dist/post-script/ast-walker/index.js.map +0 -1
  16. package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  17. package/dist/post-script/ast-walker/type-guard.js +0 -56
  18. package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  19. package/dist/post-script/ast-walker/types.d.ts +0 -24
  20. package/dist/post-script/ast-walker/types.js +0 -25
  21. package/dist/post-script/ast-walker/types.js.map +0 -1
  22. package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  23. package/dist/post-script/parser/acorn-js-parser.js +0 -20
  24. package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  25. package/dist/post-script/parser/js-parser.d.ts +0 -16
  26. package/dist/post-script/parser/js-parser.js +0 -3
  27. package/dist/post-script/parser/js-parser.js.map +0 -1
  28. package/dist/post-script/parser/parser.d.ts +0 -6
  29. package/dist/post-script/parser/parser.js +0 -3
  30. package/dist/post-script/parser/parser.js.map +0 -1
  31. package/package/dist/asserter.d.ts +0 -9
  32. package/package/dist/asserter.js +0 -158
  33. package/package/dist/asserter.js.map +0 -1
  34. package/package/dist/constants.d.ts +0 -7
  35. package/package/dist/constants.js +0 -13
  36. package/package/dist/constants.js.map +0 -1
  37. package/package/dist/cookies.d.ts +0 -4
  38. package/package/dist/cookies.js +0 -79
  39. package/package/dist/cookies.js.map +0 -1
  40. package/package/dist/errors.d.ts +0 -5
  41. package/package/dist/errors.js +0 -38
  42. package/package/dist/errors.js.map +0 -1
  43. package/package/dist/extraction-combiner.d.ts +0 -17
  44. package/package/dist/extraction-combiner.js +0 -182
  45. package/package/dist/extraction-combiner.js.map +0 -1
  46. package/package/dist/failures.d.ts +0 -24
  47. package/package/dist/failures.js +0 -67
  48. package/package/dist/failures.js.map +0 -1
  49. package/package/dist/grpc.d.ts +0 -34
  50. package/package/dist/grpc.js +0 -269
  51. package/package/dist/grpc.js.map +0 -1
  52. package/package/dist/iteration-stats.d.ts +0 -2
  53. package/package/dist/iteration-stats.js +0 -38
  54. package/package/dist/iteration-stats.js.map +0 -1
  55. package/package/dist/message-creators.d.ts +0 -31
  56. package/package/dist/message-creators.js +0 -90
  57. package/package/dist/message-creators.js.map +0 -1
  58. package/package/dist/mill-info.d.ts +0 -70
  59. package/package/dist/mill-info.js +0 -3
  60. package/package/dist/mill-info.js.map +0 -1
  61. package/package/dist/mill-version.d.ts +0 -6
  62. package/package/dist/mill-version.js +0 -10
  63. package/package/dist/mill-version.js.map +0 -1
  64. package/package/dist/parameter-pools.d.ts +0 -3
  65. package/package/dist/parameter-pools.js +0 -69
  66. package/package/dist/parameter-pools.js.map +0 -1
  67. package/package/dist/performance.d.ts +0 -1
  68. package/package/dist/performance.js +0 -10
  69. package/package/dist/performance.js.map +0 -1
  70. package/package/dist/post-script/ast-walker/index.d.ts +0 -18
  71. package/package/dist/post-script/ast-walker/index.js +0 -215
  72. package/package/dist/post-script/ast-walker/index.js.map +0 -1
  73. package/package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  74. package/package/dist/post-script/ast-walker/type-guard.js +0 -56
  75. package/package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  76. package/package/dist/post-script/ast-walker/types.d.ts +0 -24
  77. package/package/dist/post-script/ast-walker/types.js +0 -25
  78. package/package/dist/post-script/ast-walker/types.js.map +0 -1
  79. package/package/dist/post-script/console-log.d.ts +0 -7
  80. package/package/dist/post-script/console-log.js +0 -31
  81. package/package/dist/post-script/console-log.js.map +0 -1
  82. package/package/dist/post-script/constants.d.ts +0 -4
  83. package/package/dist/post-script/constants.js +0 -9
  84. package/package/dist/post-script/constants.js.map +0 -1
  85. package/package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  86. package/package/dist/post-script/parser/acorn-js-parser.js +0 -20
  87. package/package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  88. package/package/dist/post-script/parser/js-parser.d.ts +0 -16
  89. package/package/dist/post-script/parser/js-parser.js +0 -3
  90. package/package/dist/post-script/parser/js-parser.js.map +0 -1
  91. package/package/dist/post-script/parser/parser.d.ts +0 -6
  92. package/package/dist/post-script/parser/parser.js +0 -3
  93. package/package/dist/post-script/parser/parser.js.map +0 -1
  94. package/package/dist/post-script/post-script-executor.d.ts +0 -24
  95. package/package/dist/post-script/post-script-executor.js +0 -125
  96. package/package/dist/post-script/post-script-executor.js.map +0 -1
  97. package/package/dist/post-script/virtual-machine/virtual-machine.d.ts +0 -13
  98. package/package/dist/post-script/virtual-machine/virtual-machine.js +0 -3
  99. package/package/dist/post-script/virtual-machine/virtual-machine.js.map +0 -1
  100. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +0 -12
  101. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js +0 -81
  102. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +0 -1
  103. package/package/dist/post-sequence.d.ts +0 -2
  104. package/package/dist/post-sequence.js +0 -192
  105. package/package/dist/post-sequence.js.map +0 -1
  106. package/package/dist/redact-data.d.ts +0 -2
  107. package/package/dist/redact-data.js +0 -60
  108. package/package/dist/redact-data.js.map +0 -1
  109. package/package/dist/report-types.d.ts +0 -102
  110. package/package/dist/report-types.js +0 -11
  111. package/package/dist/report-types.js.map +0 -1
  112. package/package/dist/request-sequence-result.d.ts +0 -37
  113. package/package/dist/request-sequence-result.js +0 -19
  114. package/package/dist/request-sequence-result.js.map +0 -1
  115. package/package/dist/request-stats.d.ts +0 -13
  116. package/package/dist/request-stats.js +0 -14
  117. package/package/dist/request-stats.js.map +0 -1
  118. package/package/dist/res-keeper.d.ts +0 -16
  119. package/package/dist/res-keeper.js +0 -104
  120. package/package/dist/res-keeper.js.map +0 -1
  121. package/package/dist/sampler.d.ts +0 -29
  122. package/package/dist/sampler.js +0 -276
  123. package/package/dist/sampler.js.map +0 -1
  124. package/package/dist/sequence-executor-like.d.ts +0 -23
  125. package/package/dist/sequence-executor-like.js +0 -3
  126. package/package/dist/sequence-executor-like.js.map +0 -1
  127. package/package/dist/sequence.d.ts +0 -16
  128. package/package/dist/sequence.js +0 -1738
  129. package/package/dist/sequence.js.map +0 -1
  130. package/package/dist/single-runner.d.ts +0 -29
  131. package/package/dist/single-runner.js +0 -147
  132. package/package/dist/single-runner.js.map +0 -1
  133. package/package/dist/step-handlers/code-step-handler.d.ts +0 -12
  134. package/package/dist/step-handlers/code-step-handler.js +0 -93
  135. package/package/dist/step-handlers/code-step-handler.js.map +0 -1
  136. package/package/dist/step-handlers/extract-step-handler.d.ts +0 -12
  137. package/package/dist/step-handlers/extract-step-handler.js +0 -101
  138. package/package/dist/step-handlers/extract-step-handler.js.map +0 -1
  139. package/package/dist/step-handlers/request-step-handler.d.ts +0 -13
  140. package/package/dist/step-handlers/request-step-handler.js +0 -94
  141. package/package/dist/step-handlers/request-step-handler.js.map +0 -1
  142. package/package/dist/step-handlers/step-handler.d.ts +0 -11
  143. package/package/dist/step-handlers/step-handler.js +0 -3
  144. package/package/dist/step-handlers/step-handler.js.map +0 -1
  145. package/package/dist/test-run-event-emitter.d.ts +0 -15
  146. package/package/dist/test-run-event-emitter.js +0 -36
  147. package/package/dist/test-run-event-emitter.js.map +0 -1
  148. package/package/dist/types/grpc.d.ts +0 -14
  149. package/package/dist/types/grpc.js +0 -3
  150. package/package/dist/types/grpc.js.map +0 -1
  151. package/package/dist/utils.d.ts +0 -3
  152. package/package/dist/utils.js +0 -32
  153. package/package/dist/utils.js.map +0 -1
  154. package/package/dist/work.d.ts +0 -15
  155. package/package/dist/work.js +0 -3
  156. package/package/dist/work.js.map +0 -1
  157. package/package/dist/ws.d.ts +0 -71
  158. package/package/dist/ws.js +0 -474
  159. package/package/dist/ws.js.map +0 -1
@@ -1,192 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.publishMetrics = void 0;
43
- var client_firehose_1 = require("@aws-sdk/client-firehose");
44
- var client_cognito_identity_1 = require("@aws-sdk/client-cognito-identity");
45
- var isEmpty_1 = __importDefault(require("lodash/isEmpty"));
46
- var v4_1 = __importDefault(require("uuid/v4"));
47
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
48
- var parameters_1 = require("@loadmill/core/dist/parameters");
49
- var parameters_2 = require("@loadmill/core/dist/parameters");
50
- var ONE_HOUR = 1000 * 60 * 60;
51
- var FIREHOSE_API_VERSION = '2015-08-04'; //todo chek if need
52
- var REGION = 'us-east-1';
53
- var STREAM_NAME = process.env.AGENTS_PARAMS_METRICS_S3_BUCKET || 'agents-parameters-metrics';
54
- var IdentityPoolId = 'us-east-1:79372411-2664-431b-aa0b-aad9f938f6e9';
55
- var cognito = new client_cognito_identity_1.CognitoIdentity({ region: REGION });
56
- var firehoseClient;
57
- var lastFirehoseClientTimeCreation;
58
- var clientIsOlderThanOneHour = function () {
59
- return lastFirehoseClientTimeCreation &&
60
- Date.now() - lastFirehoseClientTimeCreation > ONE_HOUR;
61
- };
62
- function createClient() {
63
- return __awaiter(this, void 0, void 0, function () {
64
- var identity, credentialResponse;
65
- return __generator(this, function (_a) {
66
- switch (_a.label) {
67
- case 0:
68
- log_1.default.debug('creating FirehoseClient');
69
- return [4 /*yield*/, cognito.getId({ IdentityPoolId: IdentityPoolId })];
70
- case 1:
71
- identity = _a.sent();
72
- return [4 /*yield*/, cognito.getCredentialsForIdentity({ IdentityId: identity.IdentityId })];
73
- case 2:
74
- credentialResponse = _a.sent();
75
- firehoseClient = new client_firehose_1.FirehoseClient({
76
- region: REGION,
77
- apiVersion: FIREHOSE_API_VERSION,
78
- credentials: {
79
- accessKeyId: credentialResponse.Credentials.AccessKeyId,
80
- secretAccessKey: credentialResponse.Credentials.SecretKey,
81
- sessionToken: credentialResponse.Credentials.SessionToken,
82
- expiration: credentialResponse.Credentials.Expiration
83
- }
84
- });
85
- lastFirehoseClientTimeCreation = Date.now();
86
- return [2 /*return*/, firehoseClient];
87
- }
88
- });
89
- });
90
- }
91
- var getFirehoseClient = function () { return __awaiter(void 0, void 0, void 0, function () {
92
- return __generator(this, function (_a) {
93
- switch (_a.label) {
94
- case 0:
95
- if (firehoseClient && (!clientIsOlderThanOneHour())) {
96
- return [2 /*return*/, firehoseClient];
97
- }
98
- return [4 /*yield*/, createClient()];
99
- case 1: return [2 /*return*/, _a.sent()];
100
- }
101
- });
102
- }); };
103
- var sendMetrics = function (metrics) { return __awaiter(void 0, void 0, void 0, function () {
104
- var command, client, err_1;
105
- return __generator(this, function (_a) {
106
- switch (_a.label) {
107
- case 0:
108
- _a.trys.push([0, 3, , 4]);
109
- if (!metrics || isEmpty_1.default(metrics)) {
110
- return [2 /*return*/];
111
- }
112
- log_1.default.debug('Sending metrics to AWS Firhose');
113
- command = new client_firehose_1.PutRecordBatchCommand({
114
- Records: metrics,
115
- DeliveryStreamName: STREAM_NAME
116
- });
117
- return [4 /*yield*/, getFirehoseClient()];
118
- case 1:
119
- client = _a.sent();
120
- return [4 /*yield*/, client.send(command)];
121
- case 2:
122
- _a.sent();
123
- return [3 /*break*/, 4];
124
- case 3:
125
- err_1 = _a.sent();
126
- log_1.default.error(err_1);
127
- return [3 /*break*/, 4];
128
- case 4: return [2 /*return*/];
129
- }
130
- });
131
- }); };
132
- var prepareMetrics = function (testId, teamId, postParameters, parametersKeysToPublish) {
133
- if (parametersKeysToPublish === void 0) { parametersKeysToPublish = []; }
134
- var records = [];
135
- parametersKeysToPublish.forEach(function (paramName) {
136
- var value = parameters_1.parameterUtils.getValueByKeyFromArr(paramName, postParameters);
137
- if (!value) {
138
- return;
139
- }
140
- var record = {
141
- key: paramName,
142
- value: value,
143
- };
144
- records.push(record);
145
- });
146
- var recordsGroup = {
147
- id: v4_1.default(),
148
- testId: testId,
149
- teamId: teamId,
150
- publishedAt: Date.now(),
151
- records: records,
152
- };
153
- if (isEmpty_1.default(records)) {
154
- return;
155
- }
156
- var enc = new TextEncoder(); // always utf-8
157
- var encodedRecords = enc.encode(JSON.stringify(recordsGroup) + "\n");
158
- return [{ Data: encodedRecords }];
159
- };
160
- var publishMetrics = function (postParameters, parametersKeysToPublish) { return __awaiter(void 0, void 0, void 0, function () {
161
- var testId, teamId, e_1;
162
- return __generator(this, function (_a) {
163
- switch (_a.label) {
164
- case 0:
165
- _a.trys.push([0, 2, , 3]);
166
- if (isEmpty_1.default(postParameters) || isEmpty_1.default(parametersKeysToPublish)) {
167
- return [2 /*return*/];
168
- }
169
- testId = parameters_1.parameterUtils.getValueByKeyFromArr(parameters_2.BUILT_IN_PARAMS.testRunId, postParameters);
170
- if (!testId) { // very weird if happened
171
- log_1.default.debug('Test has ended without a testId parameter');
172
- return [2 /*return*/];
173
- }
174
- teamId = parameters_1.parameterUtils.getValueByKeyFromArr(parameters_2.BUILT_IN_PARAMS.launchedByTeamId, postParameters);
175
- if (!teamId) { // very weird if happened
176
- log_1.default.debug('Test has ended without a testId parameter');
177
- return [2 /*return*/];
178
- }
179
- return [4 /*yield*/, sendMetrics(prepareMetrics(testId, teamId, postParameters, parametersKeysToPublish))];
180
- case 1:
181
- _a.sent();
182
- return [3 /*break*/, 3];
183
- case 2:
184
- e_1 = _a.sent();
185
- log_1.default.error('Failed publish metrics at the end of test', { postParameters: postParameters, parametersKeysToPublish: parametersKeysToPublish }, e_1);
186
- return [3 /*break*/, 3];
187
- case 3: return [2 /*return*/];
188
- }
189
- });
190
- }); };
191
- exports.publishMetrics = publishMetrics;
192
- //# sourceMappingURL=post-sequence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-sequence.js","sourceRoot":"","sources":["../src/post-sequence.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { ResolvedRequest } from './request-sequence-result';
2
- export declare function redactSensitiveData(resolvedRequests: ResolvedRequest[], sensitiveKeys?: string[]): void;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.redactSensitiveData = void 0;
7
- var parameters_1 = require("@loadmill/core/dist/parameters");
8
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
9
- var jsonpath_1 = __importDefault(require("jsonpath"));
10
- var lodash_1 = require("lodash");
11
- var qs_1 = __importDefault(require("qs"));
12
- var utils_1 = require("./utils");
13
- var BODY_DATA_REDACTED = 'Body Data Redacted';
14
- function redactSensitiveData(resolvedRequests, sensitiveKeys) {
15
- if (sensitiveKeys === void 0) { sensitiveKeys = []; }
16
- resolvedRequests.forEach(function (rr) {
17
- var _a, _b;
18
- if ((_a = rr.postData) === null || _a === void 0 ? void 0 : _a.text) {
19
- rr.postData.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.postData.text, rr.postData.mimeType) : BODY_DATA_REDACTED;
20
- }
21
- if ((_b = rr.response) === null || _b === void 0 ? void 0 : _b.text) {
22
- rr.response.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.response.text, rr.response.type) : BODY_DATA_REDACTED;
23
- }
24
- if (rr.postParameters) {
25
- parameters_1.redactPostParameters(rr.postParameters, sensitiveKeys);
26
- }
27
- });
28
- }
29
- exports.redactSensitiveData = redactSensitiveData;
30
- function redactKeysFromBody(sensitiveKeys, text, mimeType) {
31
- try {
32
- if (typeof text != 'string' || utils_1.hasBeenTrimmed(text)) {
33
- return BODY_DATA_REDACTED;
34
- }
35
- if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('application/x-www-form-urlencoded')) {
36
- var params = qs_1.default.parse(text);
37
- redactKeysFromJson(params, sensitiveKeys);
38
- return qs_1.default.stringify(params);
39
- }
40
- else if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.includes('application/json')) {
41
- var json = JSON.parse(text);
42
- if (!json) {
43
- return text;
44
- }
45
- redactKeysFromJson(json, sensitiveKeys);
46
- return JSON.stringify(json);
47
- }
48
- return text;
49
- }
50
- catch (e) {
51
- log_1.default.error('Failed to redact request / response body', e);
52
- return BODY_DATA_REDACTED;
53
- }
54
- }
55
- function redactKeysFromJson(json, sensitiveKeys) {
56
- sensitiveKeys.forEach(function (key) {
57
- jsonpath_1.default.apply(json, "$.." + key, function (_value) { return parameters_1.DATA_REDACTED; });
58
- });
59
- }
60
- //# sourceMappingURL=redact-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqF;AACrF,qEAA+C;AAC/C,sDAAgC;AAChC,iCAAiC;AACjC,0CAAoB;AAEpB,iCAAyC;AAEzC,IAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,SAAgB,mBAAmB,CAAC,gBAAmC,EAAE,aAA4B;IAA5B,8BAAA,EAAA,kBAA4B;IACnG,gBAAgB,CAAC,OAAO,CAAC,UAAA,EAAE;;QACzB,IAAI,MAAA,EAAE,CAAC,QAAQ,0CAAE,IAAI,EAAE;YACrB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC7I;QACD,IAAI,MAAA,EAAE,CAAC,QAAQ,0CAAE,IAAI,EAAE;YACrB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;SACzI;QACD,IAAI,EAAE,CAAC,cAAc,EAAE;YACrB,iCAAoB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;SACxD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,kDAYC;AAED,SAAS,kBAAkB,CAAC,aAAuB,EAAE,IAAa,EAAE,QAAiB;IACnF,IAAI;QAEF,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,sBAAc,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,kBAAkB,CAAC;SAC3B;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,mCAAmC,CAAC,EAAE;YAC7D,IAAM,MAAM,GAAG,YAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1C,OAAO,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACjD,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC;aACb;YACD,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,aAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,kBAAkB,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAS,EAAE,aAAuB;IAC5D,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG;QACvB,kBAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAM,GAAK,EAAE,UAAC,MAAM,IAAK,OAAA,0BAAa,EAAb,CAAa,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,102 +0,0 @@
1
- import { Failures } from './failures';
2
- import { MillInfo } from './mill-info';
3
- import { PerRequestResTime, PerRequestStats } from './request-stats';
4
- export declare type LoadResult = 'done' | 'aborted' | 'failed';
5
- /**
6
- * This report contains all the info that comes from Redis each time there is a status update.
7
- */
8
- export interface LoadStatusReport extends AggregatedStatsReport {
9
- endTime?: number;
10
- startTime?: number;
11
- result?: LoadResult;
12
- activeSessions?: number;
13
- }
14
- /**
15
- * This report contains all the aggregated stats computed from individual mill reports.
16
- */
17
- export interface AggregatedStatsReport extends BasicStatsReport {
18
- /**
19
- * The number of separate sessions / mills that sent at least one report.
20
- */
21
- reportedSessions?: number;
22
- append?: boolean;
23
- failures?: Failures;
24
- browserStatsMap?: StatsMap;
25
- locationStatsMap?: StatsMap;
26
- serverMetrics?: ServerMetrics;
27
- avgResTimeSequence?: SequenceObj;
28
- requestStats?: PerRequestResTime;
29
- failureReportsMap?: HashKeysToReportIds;
30
- avgIterationTimeSequence?: SequenceObj;
31
- }
32
- /**
33
- * A mapping that aggregates stats according to a certain feature, e.g. stats per browser version.
34
- */
35
- export interface StatsMap {
36
- [feature: string]: BasicStatsReport & {
37
- sessions: number;
38
- };
39
- }
40
- /**
41
- * A sequence of stats (currently only the average response time) reported within a certain
42
- * interval (between `firstTime` and `lastTime`).
43
- */
44
- export interface SequenceObj {
45
- append?: boolean;
46
- sequence: ClientMetrics;
47
- }
48
- export declare type ClientMetrics = ClientMetricsClump[];
49
- export declare type ClientMetricsClump = {
50
- s?: number;
51
- f?: number;
52
- avg: number;
53
- time: number;
54
- p50?: number;
55
- p95?: number;
56
- weight: number;
57
- concurrency: number;
58
- };
59
- export declare type ServerMetrics = ServerMetricsClump[];
60
- export declare type ServerMetricsClump = {
61
- _t: number;
62
- uc?: number;
63
- tc?: number;
64
- tm?: number;
65
- hm?: number;
66
- uhm?: number;
67
- };
68
- export declare type HashKeysToReportIds = {
69
- [hashKey: string]: string;
70
- };
71
- /**
72
- * This is the report sent to Redis every time a mill report is received.
73
- */
74
- export declare type ToStoreStatsReport = StatsReportWithMillInfo & {
75
- timestamp: number;
76
- firstReport: boolean;
77
- };
78
- /**
79
- * This report includes a single mill stats report along with additional meta data.
80
- */
81
- export declare type StatsReportWithMillInfo = FromMillStatsReport & MillInfo & {
82
- lordId: string;
83
- };
84
- /**
85
- * The stats report sent by the mill.
86
- */
87
- export interface FromMillStatsReport extends BasicStatsReport {
88
- failures?: Failures;
89
- requestStats?: PerRequestStats;
90
- iterationTimes?: number[];
91
- }
92
- /**
93
- * The basic stats we are usually interested in.
94
- */
95
- export interface BasicStatsReport {
96
- hits?: number;
97
- avgResTime?: number;
98
- failedIterations?: number;
99
- successfulIterations?: number;
100
- avgIterationTime?: number;
101
- }
102
- export declare function isInformative({ hits, avgResTime, failedIterations, successfulIterations, }: FromMillStatsReport): boolean | 0 | undefined;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInformative = void 0;
4
- function isInformative(_a) {
5
- var hits = _a.hits, avgResTime = _a.avgResTime, failedIterations = _a.failedIterations, successfulIterations = _a.successfulIterations;
6
- return ((hits && hits > 0 && avgResTime != null && avgResTime >= 0) ||
7
- (failedIterations && failedIterations > 0) ||
8
- (successfulIterations && successfulIterations > 0));
9
- }
10
- exports.isInformative = isInformative;
11
- //# sourceMappingURL=report-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-types.js","sourceRoot":"","sources":["../src/report-types.ts"],"names":[],"mappings":";;;AAsHA,SAAgB,aAAa,CAAC,EAKR;QAJpB,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,oBAAoB,0BAAA;IAEpB,OAAO,CACL,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC;QAC3D,CAAC,gBAAgB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAC1C,CAAC,oBAAoB,IAAI,oBAAoB,GAAG,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAXD,sCAWC"}
@@ -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
- }