@elastic/synthetics 1.0.0-beta.3 → 1.0.0-beta.30

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 (189) hide show
  1. package/README.md +4 -3
  2. package/dist/cli.js +99 -162
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common_types.d.ts +156 -34
  5. package/dist/common_types.d.ts.map +1 -1
  6. package/dist/config.d.ts +2 -5
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +5 -5
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/browser-service.js +5 -5
  11. package/dist/core/browser-service.js.map +1 -1
  12. package/dist/core/gatherer.d.ts +4 -8
  13. package/dist/core/gatherer.d.ts.map +1 -1
  14. package/dist/core/gatherer.js +46 -14
  15. package/dist/core/gatherer.js.map +1 -1
  16. package/dist/core/index.d.ts +5 -1
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/index.js +23 -11
  19. package/dist/core/index.js.map +1 -1
  20. package/dist/core/logger.d.ts +0 -1
  21. package/dist/core/logger.d.ts.map +1 -1
  22. package/dist/core/logger.js +3 -16
  23. package/dist/core/logger.js.map +1 -1
  24. package/dist/core/runner.d.ts +21 -65
  25. package/dist/core/runner.d.ts.map +1 -1
  26. package/dist/core/runner.js +211 -93
  27. package/dist/core/runner.js.map +1 -1
  28. package/dist/dsl/journey.d.ts +7 -3
  29. package/dist/dsl/journey.d.ts.map +1 -1
  30. package/dist/dsl/journey.js +22 -6
  31. package/dist/dsl/journey.js.map +1 -1
  32. package/{src/reporters/reporter.ts → dist/dsl/locations.d.ts} +12 -10
  33. package/dist/dsl/locations.d.ts.map +1 -0
  34. package/dist/dsl/locations.js +41 -0
  35. package/dist/dsl/locations.js.map +1 -0
  36. package/dist/dsl/monitor.d.ts +65 -0
  37. package/dist/dsl/monitor.d.ts.map +1 -0
  38. package/dist/dsl/monitor.js +63 -0
  39. package/dist/dsl/monitor.js.map +1 -0
  40. package/dist/dsl/step.d.ts +3 -2
  41. package/dist/dsl/step.d.ts.map +1 -1
  42. package/dist/dsl/step.js +2 -1
  43. package/dist/dsl/step.js.map +1 -1
  44. package/dist/formatter/javascript.d.ts +98 -0
  45. package/dist/formatter/javascript.d.ts.map +1 -0
  46. package/dist/formatter/javascript.js +295 -0
  47. package/dist/formatter/javascript.js.map +1 -0
  48. package/dist/generator/index.d.ts +21 -0
  49. package/dist/generator/index.d.ts.map +1 -0
  50. package/dist/generator/index.js +169 -0
  51. package/dist/generator/index.js.map +1 -0
  52. package/dist/{reporters/reporter.d.ts → generator/utils.d.ts} +4 -9
  53. package/dist/generator/utils.d.ts.map +1 -0
  54. package/dist/generator/utils.js +57 -0
  55. package/dist/generator/utils.js.map +1 -0
  56. package/dist/helpers.d.ts +20 -1
  57. package/dist/helpers.d.ts.map +1 -1
  58. package/dist/helpers.js +98 -18
  59. package/dist/helpers.js.map +1 -1
  60. package/dist/index.d.ts +5 -6
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +5 -26
  63. package/dist/index.js.map +1 -1
  64. package/dist/{parse_args.d.ts → loader.d.ts} +2 -5
  65. package/dist/loader.d.ts.map +1 -0
  66. package/dist/loader.js +144 -0
  67. package/dist/loader.js.map +1 -0
  68. package/dist/options.d.ts +34 -0
  69. package/dist/options.d.ts.map +1 -0
  70. package/dist/options.js +162 -0
  71. package/dist/options.js.map +1 -0
  72. package/dist/plugins/browser-console.d.ts +5 -4
  73. package/dist/plugins/browser-console.d.ts.map +1 -1
  74. package/dist/plugins/browser-console.js +27 -8
  75. package/dist/plugins/browser-console.js.map +1 -1
  76. package/dist/plugins/network.d.ts +20 -33
  77. package/dist/plugins/network.d.ts.map +1 -1
  78. package/dist/plugins/network.js +173 -214
  79. package/dist/plugins/network.js.map +1 -1
  80. package/dist/plugins/performance.d.ts +4 -19
  81. package/dist/plugins/performance.d.ts.map +1 -1
  82. package/dist/plugins/performance.js +5 -5
  83. package/dist/plugins/performance.js.map +1 -1
  84. package/dist/plugins/plugin-manager.d.ts +9 -5
  85. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  86. package/dist/plugins/plugin-manager.js +44 -29
  87. package/dist/plugins/plugin-manager.js.map +1 -1
  88. package/dist/plugins/tracing.d.ts +6 -6
  89. package/dist/plugins/tracing.d.ts.map +1 -1
  90. package/dist/plugins/tracing.js +8 -7
  91. package/dist/plugins/tracing.js.map +1 -1
  92. package/dist/push/bundler.d.ts +34 -0
  93. package/dist/push/bundler.d.ts.map +1 -0
  94. package/dist/push/bundler.js +114 -0
  95. package/dist/push/bundler.js.map +1 -0
  96. package/dist/{reporters/reporter.js → push/index.d.ts} +4 -3
  97. package/dist/push/index.d.ts.map +1 -0
  98. package/dist/push/index.js +55 -0
  99. package/dist/push/index.js.map +1 -0
  100. package/dist/push/monitor.d.ts +32 -0
  101. package/dist/push/monitor.d.ts.map +1 -0
  102. package/dist/push/monitor.js +62 -0
  103. package/dist/push/monitor.js.map +1 -0
  104. package/dist/push/plugin.d.ts +33 -0
  105. package/dist/push/plugin.d.ts.map +1 -0
  106. package/dist/push/plugin.js +124 -0
  107. package/dist/push/plugin.js.map +1 -0
  108. package/dist/push/request.d.ts +42 -0
  109. package/dist/push/request.d.ts.map +1 -0
  110. package/dist/push/request.js +84 -0
  111. package/dist/push/request.js.map +1 -0
  112. package/dist/reporters/base.d.ts +14 -6
  113. package/dist/reporters/base.d.ts.map +1 -1
  114. package/dist/reporters/base.js +54 -48
  115. package/dist/reporters/base.js.map +1 -1
  116. package/dist/reporters/index.d.ts +18 -8
  117. package/dist/reporters/index.d.ts.map +1 -1
  118. package/dist/reporters/index.js.map +1 -1
  119. package/dist/reporters/json.d.ts +18 -67
  120. package/dist/reporters/json.d.ts.map +1 -1
  121. package/dist/reporters/json.js +153 -175
  122. package/dist/reporters/json.js.map +1 -1
  123. package/dist/reporters/junit.d.ts +7 -1
  124. package/dist/reporters/junit.d.ts.map +1 -1
  125. package/dist/reporters/junit.js +94 -89
  126. package/dist/reporters/junit.js.map +1 -1
  127. package/dist/sdk/lh-trace-processor.d.ts +35 -9
  128. package/dist/sdk/lh-trace-processor.d.ts.map +1 -1
  129. package/dist/sdk/lh-trace-processor.js +114 -53
  130. package/dist/sdk/lh-trace-processor.js.map +1 -1
  131. package/dist/sdk/trace-metrics.d.ts +4 -4
  132. package/dist/sdk/trace-metrics.d.ts.map +1 -1
  133. package/dist/sdk/trace-metrics.js +5 -6
  134. package/dist/sdk/trace-metrics.js.map +1 -1
  135. package/dist/sdk/trace-processor.d.ts +11 -3
  136. package/dist/sdk/trace-processor.d.ts.map +1 -1
  137. package/dist/sdk/trace-processor.js +17 -9
  138. package/dist/sdk/trace-processor.js.map +1 -1
  139. package/dist/tsconfig.tsbuildinfo +1 -1888
  140. package/package.json +31 -19
  141. package/src/cli.ts +187 -154
  142. package/src/common_types.ts +188 -34
  143. package/src/config.ts +2 -5
  144. package/src/core/gatherer.ts +55 -27
  145. package/src/core/index.ts +36 -15
  146. package/src/core/logger.ts +1 -12
  147. package/src/core/runner.ts +216 -152
  148. package/src/dsl/journey.ts +29 -5
  149. package/src/dsl/locations.ts +38 -0
  150. package/src/dsl/monitor.ts +87 -0
  151. package/src/dsl/step.ts +9 -2
  152. package/src/formatter/javascript.ts +367 -0
  153. package/src/generator/index.ts +212 -0
  154. package/src/generator/utils.ts +54 -0
  155. package/src/helpers.ts +106 -10
  156. package/src/index.ts +21 -22
  157. package/src/loader.ts +162 -0
  158. package/src/options.ts +173 -0
  159. package/src/plugins/browser-console.ts +30 -8
  160. package/src/plugins/network.ts +208 -267
  161. package/src/plugins/performance.ts +6 -22
  162. package/src/plugins/plugin-manager.ts +49 -31
  163. package/src/plugins/tracing.ts +8 -9
  164. package/src/push/bundler.ts +95 -0
  165. package/src/push/index.ts +59 -0
  166. package/src/push/monitor.ts +68 -0
  167. package/src/push/plugin.ts +114 -0
  168. package/src/push/request.ts +111 -0
  169. package/src/reporters/base.ts +63 -52
  170. package/src/reporters/index.ts +26 -3
  171. package/src/reporters/json.ts +203 -206
  172. package/src/reporters/junit.ts +98 -93
  173. package/src/sdk/lh-trace-processor.ts +132 -68
  174. package/src/sdk/trace-metrics.ts +10 -6
  175. package/src/sdk/trace-processor.ts +28 -13
  176. package/templates/.github/workflows/run-synthetics.yml +26 -0
  177. package/templates/README.md +21 -0
  178. package/templates/journeys/advanced-example-helpers.ts +54 -0
  179. package/templates/journeys/advanced-example.journey.ts +43 -0
  180. package/templates/journeys/example.journey.ts +18 -0
  181. package/templates/synthetics.config.ts +26 -0
  182. package/CHANGELOG.md +0 -102
  183. package/NOTICE.txt +0 -221
  184. package/dist/parse_args.d.ts.map +0 -1
  185. package/dist/parse_args.js +0 -89
  186. package/dist/parse_args.js.map +0 -1
  187. package/dist/reporters/reporter.d.ts.map +0 -1
  188. package/dist/reporters/reporter.js.map +0 -1
  189. package/src/parse_args.ts +0 -127
@@ -23,28 +23,47 @@
23
23
  * THE SOFTWARE.
24
24
  *
25
25
  */
26
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
29
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
30
+ };
31
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
32
+ if (kind === "m") throw new TypeError("Private method is not writable");
33
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
34
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
35
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
36
+ };
37
+ var _Runner_active, _Runner_reporter, _Runner_currentJourney;
26
38
  Object.defineProperty(exports, "__esModule", { value: true });
27
- const events_1 = require("events");
28
39
  const path_1 = require("path");
29
- const fs_1 = require("fs");
40
+ const promises_1 = require("fs/promises");
30
41
  const reporters_1 = require("../reporters");
31
42
  const helpers_1 = require("../helpers");
32
- const plugins_1 = require("../plugins");
33
43
  const gatherer_1 = require("./gatherer");
34
44
  const logger_1 = require("./logger");
35
- class Runner extends events_1.EventEmitter {
45
+ const monitor_1 = require("../dsl/monitor");
46
+ class Runner {
36
47
  constructor() {
37
- super(...arguments);
38
- this.active = false;
39
- this.currentJourney = null;
48
+ _Runner_active.set(this, false);
49
+ _Runner_reporter.set(this, void 0);
50
+ _Runner_currentJourney.set(this, null);
40
51
  this.journeys = [];
41
52
  this.hooks = { beforeAll: [], afterAll: [] };
42
- this.screenshotPath = path_1.join(helpers_1.CACHE_PATH, 'screenshots');
43
53
  }
44
54
  static async createContext(options) {
45
- const start = helpers_1.monotonicTimeInSeconds();
46
55
  const driver = await gatherer_1.Gatherer.setupDriver(options);
56
+ /**
57
+ * Do not include browser launch/context creation duration
58
+ * as part of journey duration
59
+ */
60
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
47
61
  const pluginManager = await gatherer_1.Gatherer.beginRecording(driver, options);
62
+ /**
63
+ * For each journey we create the screenshots folder for
64
+ * caching all screenshots and clear them at end of each journey
65
+ */
66
+ await (0, helpers_1.mkdirAsync)(this.screenshotPath, { recursive: true });
48
67
  return {
49
68
  start,
50
69
  params: options.params,
@@ -52,36 +71,79 @@ class Runner extends events_1.EventEmitter {
52
71
  pluginManager,
53
72
  };
54
73
  }
74
+ async captureScreenshot(page, step) {
75
+ const buffer = await page
76
+ .screenshot({
77
+ type: 'jpeg',
78
+ quality: 80,
79
+ timeout: 5000,
80
+ })
81
+ .catch(() => { });
82
+ /**
83
+ * Write the screenshot image buffer with additional details (step
84
+ * information) which could be extracted at the end of
85
+ * each journey without impacting the step timing information
86
+ */
87
+ if (buffer) {
88
+ const fileName = `${(0, helpers_1.generateUniqueId)()}.json`;
89
+ const screenshot = {
90
+ step,
91
+ timestamp: (0, helpers_1.getTimestamp)(),
92
+ data: buffer.toString('base64'),
93
+ };
94
+ await (0, helpers_1.writeFileAsync)((0, path_1.join)(Runner.screenshotPath, fileName), JSON.stringify(screenshot));
95
+ }
96
+ }
97
+ get currentJourney() {
98
+ return __classPrivateFieldGet(this, _Runner_currentJourney, "f");
99
+ }
55
100
  addHook(type, callback) {
56
101
  this.hooks[type].push(callback);
57
102
  }
103
+ updateMonitor(config) {
104
+ if (!this.monitor) {
105
+ this.monitor = new monitor_1.Monitor(config);
106
+ return;
107
+ }
108
+ this.monitor.update(config);
109
+ }
58
110
  addJourney(journey) {
59
111
  this.journeys.push(journey);
60
- this.currentJourney = journey;
112
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
113
+ }
114
+ setReporter(options) {
115
+ /**
116
+ * Set up the corresponding reporter and fallback
117
+ * to default reporter if not provided
118
+ */
119
+ const { reporter, outfd } = options;
120
+ const Reporter = typeof reporter === 'function'
121
+ ? reporter
122
+ : reporters_1.reporters[reporter] || reporters_1.reporters['default'];
123
+ __classPrivateFieldSet(this, _Runner_reporter, new Reporter({ fd: outfd }), "f");
61
124
  }
62
125
  async runBeforeAllHook(args) {
63
- logger_1.log(`Runner: beforeAll hooks`);
64
- await helpers_1.runParallel(this.hooks.beforeAll, args);
126
+ (0, logger_1.log)(`Runner: beforeAll hooks`);
127
+ await (0, helpers_1.runParallel)(this.hooks.beforeAll, args);
65
128
  }
66
129
  async runAfterAllHook(args) {
67
- logger_1.log(`Runner: afterAll hooks`);
68
- await helpers_1.runParallel(this.hooks.afterAll, args);
130
+ (0, logger_1.log)(`Runner: afterAll hooks`);
131
+ await (0, helpers_1.runParallel)(this.hooks.afterAll, args);
69
132
  }
70
133
  async runBeforeHook(journey, args) {
71
- logger_1.log(`Runner: before hooks for (${journey.name})`);
72
- await helpers_1.runParallel(journey.hooks.before, args);
134
+ (0, logger_1.log)(`Runner: before hooks for (${journey.name})`);
135
+ await (0, helpers_1.runParallel)(journey.hooks.before, args);
73
136
  }
74
137
  async runAfterHook(journey, args) {
75
- logger_1.log(`Runner: after hooks for (${journey.name})`);
76
- await helpers_1.runParallel(journey.hooks.after, args);
138
+ (0, logger_1.log)(`Runner: after hooks for (${journey.name})`);
139
+ await (0, helpers_1.runParallel)(journey.hooks.after, args);
77
140
  }
78
141
  async runStep(step, context, options) {
79
- var _a;
80
142
  const data = {
81
143
  status: 'succeeded',
82
144
  };
83
- logger_1.log(`Runner: start step (${step.name})`);
84
- const { metrics, screenshots } = options;
145
+ (0, logger_1.log)(`Runner: start step (${step.name})`);
146
+ const { metrics, screenshots, filmstrips, trace } = options;
85
147
  const { driver, pluginManager } = context;
86
148
  /**
87
149
  * URL needs to be the first navigation request of any step
@@ -92,14 +154,28 @@ class Runner extends events_1.EventEmitter {
92
154
  if (!data.url && req.isNavigationRequest()) {
93
155
  data.url = req.url();
94
156
  }
95
- driver.page.off('request', captureUrl);
157
+ driver.context.off('request', captureUrl);
96
158
  };
97
- driver.page.on('request', captureUrl);
159
+ driver.context.on('request', captureUrl);
98
160
  try {
161
+ /**
162
+ * Set up plugin manager context and also register
163
+ * step level plugins
164
+ */
165
+ const traceEnabled = trace || filmstrips;
99
166
  pluginManager.onStep(step);
167
+ traceEnabled && (await pluginManager.start('trace'));
168
+ // call the step definition
100
169
  await step.callback();
170
+ /**
171
+ * Collect all step level metrics
172
+ */
101
173
  if (metrics) {
102
- data.metrics = await pluginManager.get(plugins_1.PerformanceManager).getMetrics();
174
+ data.pagemetrics = await pluginManager.get('performance').getMetrics();
175
+ }
176
+ if (traceEnabled) {
177
+ const traceOutput = await pluginManager.stop('trace');
178
+ Object.assign(data, traceOutput);
103
179
  }
104
180
  }
105
181
  catch (error) {
@@ -107,34 +183,30 @@ class Runner extends events_1.EventEmitter {
107
183
  data.error = error;
108
184
  }
109
185
  finally {
110
- (_a = data.url) !== null && _a !== void 0 ? _a : (data.url = driver.page.url());
111
- if (screenshots) {
112
- await driver.page.waitForLoadState('load');
113
- const buffer = await driver.page.screenshot({
114
- type: 'jpeg',
115
- quality: 80,
116
- });
117
- /**
118
- * Write the screenshot image buffer with additional details (step
119
- * information) which could be extracted at the end of
120
- * each journey without impacting the step timing information
121
- */
122
- const fileName = helpers_1.now().toString() + '.json';
123
- fs_1.writeFileSync(path_1.join(this.screenshotPath, fileName), JSON.stringify({
124
- step,
125
- data: buffer.toString('base64'),
126
- }));
186
+ /**
187
+ * Capture screenshot for the newly created pages
188
+ * via popup or new windows/tabs
189
+ *
190
+ * Last open page will get us the correct screenshot
191
+ */
192
+ const pages = driver.context.pages();
193
+ const page = pages[pages.length - 1];
194
+ if (page) {
195
+ data.url ?? (data.url = page.url());
196
+ if (screenshots && screenshots !== 'off') {
197
+ await this.captureScreenshot(page, step);
198
+ }
127
199
  }
128
200
  }
129
- logger_1.log(`Runner: end step (${step.name})`);
201
+ (0, logger_1.log)(`Runner: end step (${step.name})`);
130
202
  return data;
131
203
  }
132
204
  async runSteps(journey, context, options) {
133
205
  const results = [];
134
206
  let skipStep = false;
135
207
  for (const step of journey.steps) {
136
- const start = helpers_1.monotonicTimeInSeconds();
137
- this.emit('step:start', { journey, step });
208
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
209
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onStepStart?.(journey, step);
138
210
  let data = { status: 'succeeded' };
139
211
  if (skipStep) {
140
212
  data.status = 'skipped';
@@ -147,11 +219,9 @@ class Runner extends events_1.EventEmitter {
147
219
  if (data.error)
148
220
  skipStep = true;
149
221
  }
150
- this.emit('step:end', {
151
- journey,
152
- step,
222
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onStepEnd?.(journey, step, {
153
223
  start,
154
- end: helpers_1.monotonicTimeInSeconds(),
224
+ end: (0, helpers_1.monotonicTimeInSeconds)(),
155
225
  ...data,
156
226
  });
157
227
  if (options.pauseOnError && data.error) {
@@ -162,43 +232,62 @@ class Runner extends events_1.EventEmitter {
162
232
  return results;
163
233
  }
164
234
  registerJourney(journey, context) {
165
- this.currentJourney = journey;
166
- const timestamp = helpers_1.getTimestamp();
235
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
236
+ const timestamp = (0, helpers_1.getTimestamp)();
167
237
  const { params } = context;
168
- this.emit('journey:start', { journey, timestamp, params });
238
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onJourneyStart?.(journey, {
239
+ timestamp,
240
+ params,
241
+ });
169
242
  /**
170
- * Load and register the steps for the current journey
243
+ * Exeucute the journey callback which would
244
+ * register the steps for the current journey
171
245
  */
172
246
  journey.callback({ ...context.driver, params });
173
247
  }
174
248
  async endJourney(journey, result, options) {
175
- const { pluginManager, start, params, status, error } = result;
249
+ const end = (0, helpers_1.monotonicTimeInSeconds)();
250
+ const { pluginManager, start, status, error } = result;
176
251
  const pluginOutput = await pluginManager.output();
177
- this.emit('journey:end', {
178
- journey,
252
+ await __classPrivateFieldGet(this, _Runner_reporter, "f")?.onJourneyEnd?.(journey, {
179
253
  status,
180
254
  error,
181
- params,
182
255
  start,
183
- end: helpers_1.monotonicTimeInSeconds(),
184
- ssblocks: options.ssblocks,
256
+ end,
257
+ timestamp: (0, helpers_1.getTimestamp)(),
258
+ options,
185
259
  ...pluginOutput,
186
260
  browserconsole: status == 'failed' ? pluginOutput.browserconsole : [],
187
261
  });
188
- /**
189
- * Wait for the all the reported events to be consumed aschronously
190
- * by reporter.
191
- */
192
- if (options.reporter == 'json') {
193
- await events_1.once(this, 'journey:end:reported');
194
- }
262
+ // clear screenshots cache after each journey
263
+ await (0, promises_1.rm)(Runner.screenshotPath, { recursive: true, force: true });
195
264
  }
196
- async runJourney(journey, options) {
265
+ /**
266
+ * Simulate a journey run to capture errors in the beforeAll hook
267
+ */
268
+ async runFakeJourney(journey, options) {
269
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
270
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyStart?.(journey, {
271
+ timestamp: (0, helpers_1.getTimestamp)(),
272
+ params: options.params,
273
+ });
197
274
  const result = {
198
- status: 'succeeded',
275
+ status: 'failed',
276
+ error: this.hookError,
199
277
  };
200
- logger_1.log(`Runner: start journey (${journey.name})`);
278
+ await __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyEnd?.(journey, {
279
+ timestamp: (0, helpers_1.getTimestamp)(),
280
+ start,
281
+ options,
282
+ end: (0, helpers_1.monotonicTimeInSeconds)(),
283
+ ...result,
284
+ });
285
+ return result;
286
+ }
287
+ async runJourney(journey, options) {
288
+ const result = { status: 'succeeded' };
201
289
  const context = await Runner.createContext(options);
290
+ (0, logger_1.log)(`Runner: start journey (${journey.name})`);
202
291
  try {
203
292
  this.registerJourney(journey, context);
204
293
  const hookArgs = {
@@ -226,70 +315,99 @@ class Runner extends events_1.EventEmitter {
226
315
  await this.endJourney(journey, { ...context, ...result }, options);
227
316
  await gatherer_1.Gatherer.dispose(context.driver);
228
317
  }
229
- logger_1.log(`Runner: end journey (${journey.name})`);
318
+ (0, logger_1.log)(`Runner: end journey (${journey.name})`);
230
319
  return result;
231
320
  }
232
- init(options) {
233
- const { reporter, outfd } = options;
321
+ async init(options) {
322
+ this.setReporter(options);
323
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onStart?.({
324
+ numJourneys: this.journeys.length,
325
+ networkConditions: options.networkConditions,
326
+ });
234
327
  /**
235
- * Set up the corresponding reporter and fallback
328
+ * Set up the directory for caching screenshots
236
329
  */
237
- const Reporter = typeof reporter === 'function'
238
- ? reporter
239
- : reporters_1.reporters[reporter] || reporters_1.reporters['default'];
240
- new Reporter(this, { fd: outfd });
241
- this.emit('start', { numJourneys: this.journeys.length });
330
+ await (0, helpers_1.mkdirAsync)(helpers_1.CACHE_PATH, { recursive: true });
331
+ }
332
+ buildMonitors(options) {
242
333
  /**
243
- * Set up the directory for caching screenshots
334
+ * Update the global monitor configuration required for
335
+ * setting defaults
244
336
  */
245
- fs_1.mkdirSync(this.screenshotPath, { recursive: true });
337
+ this.updateMonitor({
338
+ throttling: options.throttling,
339
+ schedule: options.schedule,
340
+ locations: options.locations,
341
+ params: options.params,
342
+ playwrightOptions: options.playwrightOptions,
343
+ });
344
+ const { match, tags } = options;
345
+ const monitors = [];
346
+ for (const journey of this.journeys) {
347
+ if (!journey.isMatch(match, tags)) {
348
+ continue;
349
+ }
350
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
351
+ /**
352
+ * Execute dummy callback to get all monitor specific
353
+ * configurations for the current journey
354
+ */
355
+ journey.callback({ params: options.params });
356
+ journey.monitor.update(this.monitor?.config);
357
+ monitors.push(journey.monitor);
358
+ }
359
+ return monitors;
246
360
  }
247
361
  async run(options) {
248
362
  const result = {};
249
- if (this.active) {
363
+ if (__classPrivateFieldGet(this, _Runner_active, "f")) {
250
364
  return result;
251
365
  }
252
- this.active = true;
253
- logger_1.log(`Runner: run ${this.journeys.length} journeys`);
366
+ __classPrivateFieldSet(this, _Runner_active, true, "f");
367
+ (0, logger_1.log)(`Runner: run ${this.journeys.length} journeys`);
254
368
  this.init(options);
255
369
  await this.runBeforeAllHook({
256
370
  env: options.environment,
257
371
  params: options.params,
258
- });
372
+ }).catch(e => (this.hookError = e));
259
373
  const { dryRun, match, tags } = options;
260
374
  for (const journey of this.journeys) {
261
375
  /**
262
376
  * Used by heartbeat to gather all registered journeys
263
377
  */
264
378
  if (dryRun) {
265
- this.emit('journey:register', { journey });
379
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyRegister?.(journey);
266
380
  continue;
267
381
  }
268
382
  if (!journey.isMatch(match, tags)) {
269
383
  continue;
270
384
  }
271
- const journeyResult = await this.runJourney(journey, options);
385
+ const journeyResult = this.hookError
386
+ ? await this.runFakeJourney(journey, options)
387
+ : await this.runJourney(journey, options);
272
388
  result[journey.name] = journeyResult;
273
- await gatherer_1.Gatherer.stop();
274
389
  }
390
+ await gatherer_1.Gatherer.stop();
275
391
  await this.runAfterAllHook({
276
392
  env: options.environment,
277
393
  params: options.params,
278
394
  });
279
- this.reset();
395
+ await this.reset();
280
396
  return result;
281
397
  }
282
- reset() {
398
+ async reset() {
399
+ __classPrivateFieldSet(this, _Runner_currentJourney, null, "f");
400
+ this.journeys = [];
401
+ __classPrivateFieldSet(this, _Runner_active, false, "f");
283
402
  /**
284
403
  * Clear all cache data stored for post processing by
285
404
  * the current synthetic agent run
286
405
  */
287
- fs_1.rmdirSync(helpers_1.CACHE_PATH, { recursive: true });
288
- this.currentJourney = null;
289
- this.journeys = [];
290
- this.active = false;
291
- this.emit('end', {});
406
+ await (0, promises_1.rm)(helpers_1.CACHE_PATH, { recursive: true, force: true });
407
+ await __classPrivateFieldGet(this, _Runner_reporter, "f")?.onEnd?.();
292
408
  }
293
409
  }
294
410
  exports.default = Runner;
411
+ _Runner_active = new WeakMap(), _Runner_reporter = new WeakMap(), _Runner_currentJourney = new WeakMap();
412
+ Runner.screenshotPath = (0, path_1.join)(helpers_1.CACHE_PATH, 'screenshots');
295
413
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@
24
24
  */
25
25
  import { Browser, Page, BrowserContext, CDPSession } from 'playwright-chromium';
26
26
  import { Step } from './step';
27
- import { VoidCallback, HooksCallback, Params } from '../common_types';
27
+ import { VoidCallback, HooksCallback, Params, Location } from '../common_types';
28
+ import { Monitor, MonitorConfig } from './monitor';
28
29
  export declare type JourneyOptions = {
29
30
  name: string;
30
31
  id?: string;
@@ -44,11 +45,14 @@ export declare class Journey {
44
45
  id?: string;
45
46
  tags?: string[];
46
47
  callback: JourneyCallback;
48
+ location?: Location;
47
49
  steps: Step[];
48
50
  hooks: Hooks;
49
- constructor(options: JourneyOptions, callback: JourneyCallback);
50
- addStep(name: string, callback: VoidCallback): Step;
51
+ monitor: Monitor;
52
+ constructor(options: JourneyOptions, callback: JourneyCallback, location?: Location);
53
+ addStep(name: string, callback: VoidCallback, location?: Location): Step;
51
54
  addHook(type: HookType, callback: HooksCallback): void;
55
+ updateMonitor(config: MonitorConfig): void;
52
56
  /**
53
57
  * Matches journeys based on the provided args. Proitize tags over match
54
58
  * - tags pattern that matches only tags
@@ -1 +1 @@
1
- {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/dsl/journey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtE,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,aAAK,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnC,oBAAY,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,oBAAY,eAAe,GAAG,CAAC,OAAO,EAAE;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAK,IAAI,CAAC;AAEX,qBAAa,OAAO;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,KAAK,EAAE,KAAK,CAA6B;gBAE7B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe;IAO9D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;IAM5C,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAG/C;;;;OAIG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAUxD,SAAS,CAAC,OAAO,KAAA;CAIlB"}
1
+ {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/dsl/journey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEnD,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,aAAK,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnC,oBAAY,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,oBAAY,eAAe,GAAG,CAAC,OAAO,EAAE;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAK,IAAI,CAAC;AAEX,qBAAa,OAAO;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,KAAK,EAAE,KAAK,CAA6B;IACzC,OAAO,EAAE,OAAO,CAAC;gBAGf,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,QAAQ;IAUrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAMjE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAI/C,aAAa,CAAC,MAAM,EAAE,aAAa;IAcnC;;;;OAIG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAUxD,SAAS,CAAC,OAAO,KAAA;CAIlB"}
@@ -46,23 +46,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.Journey = void 0;
47
47
  const micromatch_1 = __importStar(require("micromatch"));
48
48
  const step_1 = require("./step");
49
+ const monitor_1 = require("./monitor");
49
50
  class Journey {
50
- constructor(options, callback) {
51
+ constructor(options, callback, location) {
51
52
  this.steps = [];
52
53
  this.hooks = { before: [], after: [] };
53
54
  this.name = options.name;
54
- this.id = options.id;
55
+ this.id = options.id || options.name;
55
56
  this.tags = options.tags;
56
57
  this.callback = callback;
58
+ this.location = location;
59
+ this.updateMonitor({});
57
60
  }
58
- addStep(name, callback) {
59
- const step = new step_1.Step(name, this.steps.length + 1, callback);
61
+ addStep(name, callback, location) {
62
+ const step = new step_1.Step(name, this.steps.length + 1, callback, location);
60
63
  this.steps.push(step);
61
64
  return step;
62
65
  }
63
66
  addHook(type, callback) {
64
67
  this.hooks[type].push(callback);
65
68
  }
69
+ updateMonitor(config) {
70
+ /**
71
+ * Use defaults values from journey for monitor object (id, name and tags)
72
+ */
73
+ this.monitor = new monitor_1.Monitor({
74
+ name: this.name,
75
+ id: this.id,
76
+ tags: this.tags ?? [],
77
+ ...config,
78
+ });
79
+ this.monitor.setSource(this.location);
80
+ this.monitor.setFilter({ match: this.name });
81
+ }
66
82
  /**
67
83
  * Matches journeys based on the provided args. Proitize tags over match
68
84
  * - tags pattern that matches only tags
@@ -73,12 +89,12 @@ class Journey {
73
89
  return this.tagsMatch(tagsPattern);
74
90
  }
75
91
  if (matchPattern) {
76
- return micromatch_1.isMatch(this.name, matchPattern) || this.tagsMatch(matchPattern);
92
+ return (0, micromatch_1.isMatch)(this.name, matchPattern) || this.tagsMatch(matchPattern);
77
93
  }
78
94
  return true;
79
95
  }
80
96
  tagsMatch(pattern) {
81
- const matchess = micromatch_1.default(this.tags || ['*'], pattern);
97
+ const matchess = (0, micromatch_1.default)(this.tags || ['*'], pattern);
82
98
  return matchess.length > 0;
83
99
  }
84
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/dsl/journey.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;AAGH,yDAAiD;AACjD,iCAA8B;AAmB9B,MAAa,OAAO;IAQlB,YAAY,OAAuB,EAAE,QAAyB;QAH9D,UAAK,GAAW,EAAE,CAAC;QACnB,UAAK,GAAU,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAGvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,QAAsB;QAC1C,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAc,EAAE,QAAuB;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD;;;;OAIG;IACH,OAAO,CAAC,YAAoB,EAAE,WAA0B;QACtD,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SACpC;QACD,IAAI,YAAY,EAAE;YAChB,OAAO,oBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,OAAO;QACf,MAAM,QAAQ,GAAG,oBAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AA3CD,0BA2CC"}
1
+ {"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/dsl/journey.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;AAGH,yDAAiD;AACjD,iCAA8B;AAE9B,uCAAmD;AAkBnD,MAAa,OAAO;IAUlB,YACE,OAAuB,EACvB,QAAyB,EACzB,QAAmB;QAPrB,UAAK,GAAW,EAAE,CAAC;QACnB,UAAK,GAAU,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAQvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,QAAsB,EAAE,QAAmB;QAC/D,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAc,EAAE,QAAuB;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,MAAqB;QACjC;;WAEG;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,GAAG,MAAM;SACV,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAoB,EAAE,WAA0B;QACtD,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SACpC;QACD,IAAI,YAAY,EAAE;YAChB,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,OAAO;QACf,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AAlED,0BAkEC"}
@@ -22,14 +22,16 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
-
26
- import Runner from '../core/runner';
27
-
28
- export type ReporterOptions = {
29
- fd?: number;
30
- colors?: boolean;
25
+ export declare const LocationsMap: {
26
+ japan: string;
27
+ india: string;
28
+ singapore: string;
29
+ australia_east: string;
30
+ united_kingdom: string;
31
+ germany: string;
32
+ canada_east: string;
33
+ brazil: string;
34
+ us_east: string;
35
+ us_west: string;
31
36
  };
32
-
33
- export default interface Reporter {
34
- new (runner: Runner, options: ReporterOptions): any;
35
- }
37
+ //# sourceMappingURL=locations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../src/dsl/locations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAC"}