@elastic/synthetics 1.0.0-beta.15 → 1.0.0-beta.19

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 (52) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/NOTICE.txt +29 -0
  3. package/README.md +1 -1
  4. package/dist/cli.js +34 -21
  5. package/dist/cli.js.map +1 -1
  6. package/dist/common_types.d.ts +10 -40
  7. package/dist/common_types.d.ts.map +1 -1
  8. package/dist/core/gatherer.d.ts.map +1 -1
  9. package/dist/core/gatherer.js +9 -1
  10. package/dist/core/gatherer.js.map +1 -1
  11. package/dist/core/logger.d.ts +0 -2
  12. package/dist/core/logger.d.ts.map +1 -1
  13. package/dist/core/logger.js +2 -15
  14. package/dist/core/logger.js.map +1 -1
  15. package/dist/core/runner.d.ts +19 -20
  16. package/dist/core/runner.d.ts.map +1 -1
  17. package/dist/core/runner.js +14 -5
  18. package/dist/core/runner.js.map +1 -1
  19. package/dist/formatter/javascript.d.ts +2 -0
  20. package/dist/formatter/javascript.d.ts.map +1 -1
  21. package/dist/formatter/javascript.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +0 -6
  25. package/dist/index.js.map +1 -1
  26. package/dist/parse_args.d.ts.map +1 -1
  27. package/dist/parse_args.js +1 -1
  28. package/dist/parse_args.js.map +1 -1
  29. package/dist/plugins/network.d.ts +30 -11
  30. package/dist/plugins/network.d.ts.map +1 -1
  31. package/dist/plugins/network.js +234 -175
  32. package/dist/plugins/network.js.map +1 -1
  33. package/dist/reporters/base.d.ts.map +1 -1
  34. package/dist/reporters/base.js +6 -1
  35. package/dist/reporters/base.js.map +1 -1
  36. package/dist/reporters/json.d.ts +55 -5
  37. package/dist/reporters/json.d.ts.map +1 -1
  38. package/dist/reporters/json.js +45 -14
  39. package/dist/reporters/json.js.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +7 -7
  42. package/src/cli.ts +37 -25
  43. package/src/common_types.ts +10 -46
  44. package/src/core/gatherer.ts +8 -1
  45. package/src/core/logger.ts +1 -12
  46. package/src/core/runner.ts +42 -28
  47. package/src/formatter/javascript.ts +2 -0
  48. package/src/index.ts +1 -6
  49. package/src/parse_args.ts +1 -5
  50. package/src/plugins/network.ts +280 -213
  51. package/src/reporters/base.ts +6 -1
  52. package/src/reporters/json.ts +52 -16
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,2BAA2B,EAE5B,MAAM,gEAAgE,CAAC;AAExE,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,2BAA2B;IAItD,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAU;gBAER,OAAO,EAAE,OAAO;IAMpC,cAAc,CAAC,eAAe,EAAE,eAAe;IAkG/C,SAAS,CAAC,eAAe,EAAE,eAAe;IAY1C,iBAAiB,CAAC,IAAI,KAAA;IAKtB,eAAe;IAUf,cAAc;IASd,cAAc;IAId,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;CAc7C;AAGD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAM,UAS7C"}
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,2BAA2B,EAE5B,MAAM,gEAAgE,CAAC;AAExE,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,2BAA2B;IAItD,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAU;gBAER,OAAO,EAAE,OAAO;IAMpC,cAAc,CAAC,eAAe,EAAE,eAAe;IAkG/C,SAAS,CAAC,eAAe,EAAE,eAAe;IAY1C,iBAAiB,CAAC,IAAI,KAAA;IAKtB,eAAe;IAUf,cAAc;IASd,cAAc;IAId,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;CAc7C;AAGD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAM,UAS7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -47,4 +47,5 @@ export type { Page, ChromiumBrowser, ChromiumBrowserContext, CDPSession, } from
47
47
  export type { default as Runner } from './core/runner';
48
48
  export type { Reporter, ReporterOptions } from './reporters';
49
49
  export type { SyntheticsConfig } from './common_types';
50
+ export type { ActionInContext } from './formatter/javascript';
50
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;;;;;;GAmB5C;AAED;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;;;;;;GAc5C;AAED;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -29,7 +29,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.expect = exports.after = exports.before = exports.step = exports.journey = exports.afterAll = exports.beforeAll = exports.run = void 0;
31
31
  const core_1 = require("./core");
32
- const logger_1 = require("./core/logger");
33
32
  const source_map_support_1 = __importDefault(require("source-map-support"));
34
33
  async function run(options) {
35
34
  /**
@@ -38,11 +37,6 @@ async function run(options) {
38
37
  source_map_support_1.default.install({
39
38
  environment: 'node',
40
39
  });
41
- /**
42
- * set up logger with appropriate file descriptor
43
- * to capture all the DEBUG logs when run through heartbeat
44
- */
45
- logger_1.setLogger(options.outfd);
46
40
  try {
47
41
  return await core_1.runner.run(options);
48
42
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;AAEH,iCAAgC;AAEhC,0CAA0C;AAC1C,4EAAkD;AAE3C,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C;;OAEG;IACH,4BAAgB,CAAC,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM;KACpB,CAAC,CAAC;IACH;;;OAGG;IACH,kBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI;QACF,OAAO,MAAM,aAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAnBD,kBAmBC;AAED;;GAEG;AACH,+BAA2E;AAAlE,iGAAA,SAAS,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,4FAAA,IAAI,OAAA;AAAE,8FAAA,MAAM,OAAA;AAAE,6FAAA,KAAK,OAAA;AAC1D,wCAAuC;AAA9B,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;AAEH,iCAAgC;AAEhC,4EAAkD;AAE3C,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C;;OAEG;IACH,4BAAgB,CAAC,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM;KACpB,CAAC,CAAC;IAEH,IAAI;QACF,OAAO,MAAM,aAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAdD,kBAcC;AAED;;GAEG;AACH,+BAA2E;AAAlE,iGAAA,SAAS,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,4FAAA,IAAI,OAAA;AAAE,8FAAA,MAAM,OAAA;AAAE,6FAAA,KAAK,OAAA;AAC1D,wCAAuC;AAA9B,gGAAA,MAAM,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse_args.d.ts","sourceRoot":"","sources":["../src/parse_args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA2FzC,QAAA,MAAM,OAAO,6BAA8B,CAAC;AAC5C,QAAA,MAAM,OAAO,SAA4B,CAAC;AA0C1C,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"parse_args.d.ts","sourceRoot":"","sources":["../src/parse_args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAuFzC,QAAA,MAAM,OAAO,6BAA8B,CAAC;AAC5C,QAAA,MAAM,OAAO,SAA4B,CAAC;AA0C1C,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,eAAe,OAAO,CAAC"}
@@ -36,7 +36,6 @@ commander_1.program
36
36
  .usage('[options] [dir] [files] file')
37
37
  .option('-c, --config <path>', 'configuration path (default: synthetics.config.js)')
38
38
  .option('-p, --params <jsonstring>', 'JSON object that gets injected to all journeys', JSON.parse)
39
- .option('-s, --suite-params <jsonstring>', 'DEPRECATED: Use --params instead', JSON.parse)
40
39
  .addOption(new commander_1.Option('--reporter <value>', `output repoter format`).choices(Object.keys(reporters_1.reporters)))
41
40
  .option('-d, --debug', 'print debug logs info')
42
41
  .option('--pattern <pattern>', 'RegExp file patterns to search inside directory')
@@ -59,6 +58,7 @@ commander_1.program
59
58
  .option('--quiet-exit-code', 'always return 0 as an exit code status, regardless of test pass / fail. Only return > 0 exit codes on internal errors where the suite could not be run')
60
59
  .addOption(new commander_1.Option('--throttling <d/u/l>', 'List of options to throttle network conditions for download throughput (d) in megabits/second, upload throughput (u) in megabits/second and latency (l) in milliseconds.').default(helpers_1.DEFAULT_NETWORK_CONDITIONS_ARG))
61
60
  .option('--no-throttling', 'Turns off default network throttling.')
61
+ .option('--playwright-options <jsonstring>', 'JSON object to pass in custom Playwright options for the agent. Options passed will be merged with Playwright options defined in your synthetics.config.js file. Options defined via --playwright-options take precedence.', JSON.parse)
62
62
  .version(version)
63
63
  .description('Run synthetic tests');
64
64
  const command = commander_1.program.parse(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"parse_args.js","sourceRoot":"","sources":["../src/parse_args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse_args.js","sourceRoot":"","sources":["../src/parse_args.ts"],"names":[],"mappings":"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"}
@@ -22,26 +22,45 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
+ import { Protocol } from 'playwright-chromium/types/protocol';
25
26
  import { NetworkInfo, Driver } from '../common_types';
26
27
  import { Step } from '../dsl';
27
- /**
28
- * Used as a key in each Network Request to identify the
29
- * associated request across distinct lifecycle events
30
- */
31
- export declare const NETWORK_ENTRY_SUMBOL: unique symbol;
32
28
  export declare class NetworkManager {
33
29
  private driver;
34
30
  private _browser;
35
- private _barrierPromises;
31
+ private _InflightRequestMap;
36
32
  results: Array<NetworkInfo>;
37
33
  _currentStep: Partial<Step>;
38
34
  constructor(driver: Driver);
39
- private _addBarrier;
40
35
  start(): Promise<void>;
41
- private _findNetworkEntry;
42
- private _onRequest;
43
- private _onResponse;
44
- private _onRequestCompleted;
36
+ _findNetworkRecord(requestId: string): NetworkInfo;
37
+ _onRequestWillBeSent(event: Protocol.Network.requestWillBeSentPayload): void;
38
+ _onRequestWillBeSentExtraInfo(event: Protocol.Network.requestWillBeSentExtraInfoPayload): void;
39
+ _onDataReceived(event: Protocol.Network.dataReceivedPayload): void;
40
+ _onResponseReceived(event: Protocol.Network.responseReceivedPayload): void;
41
+ _onLoadingFinished(event: Protocol.Network.loadingFinishedPayload): void;
42
+ _onLoadingFailed(event: Protocol.Network.loadingFailedPayload): void;
43
+ _requestCompleted(requestId: string, endTime: number, encodedDataLength?: number): void;
44
+ /**
45
+ * Account for missing response received event and also adjust the
46
+ * response received event based on when first byte event was recorded
47
+ */
45
48
  stop(): NetworkInfo[];
46
49
  }
50
+ /**
51
+ * The timing calculations are based on the chrome devtools frontend
52
+ * https://github.com/ChromeDevTools/devtools-frontend/blob/7f5478d8ceb7586f23f4073ab5c2085dac1ec26a/front_end/network/RequestTimingView.js#L98-L193
53
+ */
54
+ export declare function calculateTimings(record: NetworkInfo): {
55
+ blocked: number;
56
+ queueing: number;
57
+ dns: number;
58
+ ssl: number;
59
+ proxy: number;
60
+ connect: number;
61
+ send: number;
62
+ wait: number;
63
+ receive: number;
64
+ total: number;
65
+ };
47
66
  //# sourceMappingURL=network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,WAAW,EAAe,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAY9B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAA6B,CAAC;AAM/D,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAQ;gBAEf,MAAM,EAAE,MAAM;IAElC,OAAO,CAAC,WAAW;IAab,KAAK;IAWX,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;YA6CJ,WAAW;YAiDX,mBAAmB;IAoGjC,IAAI;CASL"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAe,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAQ;gBAEf,MAAM,EAAE,MAAM;IAE5B,KAAK;IAuBX,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIpC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,wBAAwB;IAqErE,6BAA6B,CAC3B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,iCAAiC;IAgB3D,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB;IAU3D,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,uBAAuB;IAcnE,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB;IAKjE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB;IAK7D,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAmB5B;;;OAGG;IAEH,IAAI;CAGL;AAoBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW;;;;;;;;;;;EAsHnD"}
@@ -24,218 +24,277 @@
24
24
  *
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.NetworkManager = exports.NETWORK_ENTRY_SUMBOL = void 0;
27
+ exports.calculateTimings = exports.NetworkManager = void 0;
28
28
  const helpers_1 = require("../helpers");
29
- /**
30
- * Kibana UI expects the requestStartTime and loadEndTime to be baseline
31
- * in seconds as they have the logic to convert it to milliseconds before
32
- * using for offset calculation
33
- */
34
- function epochTimeInSeconds() {
35
- return helpers_1.getTimestamp() / 1e6;
36
- }
37
- /**
38
- * Used as a key in each Network Request to identify the
39
- * associated request across distinct lifecycle events
40
- */
41
- exports.NETWORK_ENTRY_SUMBOL = Symbol.for('NetworkEntry');
42
29
  class NetworkManager {
43
30
  constructor(driver) {
44
31
  this.driver = driver;
45
- this._barrierPromises = new Set();
32
+ this._InflightRequestMap = new Map();
46
33
  this.results = [];
47
34
  this._currentStep = null;
48
35
  }
49
- _addBarrier(page, promise) {
50
- const race = Promise.race([
51
- new Promise(resolve => page.on('close', () => {
52
- this._barrierPromises.delete(race);
53
- resolve();
54
- })),
55
- promise,
56
- ]);
57
- this._barrierPromises.add(race);
58
- }
59
36
  async start() {
60
- const { client, context } = this.driver;
37
+ const { client } = this.driver;
61
38
  const { product } = await client.send('Browser.getVersion');
62
39
  const [name, version] = product.split('/');
63
40
  this._browser = { name, version };
64
- context.on('request', this._onRequest.bind(this));
65
- context.on('response', this._onResponse.bind(this));
66
- context.on('requestfinished', this._onRequestCompleted.bind(this));
67
- context.on('requestfailed', this._onRequestCompleted.bind(this));
41
+ await client.send('Network.enable');
42
+ /**
43
+ * Listen for all network events
44
+ */
45
+ client.on('Network.requestWillBeSent', this._onRequestWillBeSent.bind(this));
46
+ client.on('Network.requestWillBeSentExtraInfo', this._onRequestWillBeSentExtraInfo.bind(this));
47
+ client.on('Network.dataReceived', this._onDataReceived.bind(this));
48
+ client.on('Network.responseReceived', this._onResponseReceived.bind(this));
49
+ client.on('Network.loadingFinished', this._onLoadingFinished.bind(this));
50
+ client.on('Network.loadingFailed', this._onLoadingFailed.bind(this));
68
51
  }
69
- _findNetworkEntry(request) {
70
- return request[exports.NETWORK_ENTRY_SUMBOL];
52
+ _findNetworkRecord(requestId) {
53
+ return this._InflightRequestMap.get(requestId);
71
54
  }
72
- _onRequest(request) {
73
- const url = request.url();
55
+ _onRequestWillBeSent(event) {
56
+ const { requestId, request, timestamp, type, loaderId } = event;
57
+ const { url, method } = request;
74
58
  /**
75
59
  * Data URI should not show up as network requests
76
60
  */
77
61
  if (url.startsWith('data:')) {
78
62
  return;
79
63
  }
80
- const timestamp = helpers_1.getTimestamp();
81
- const networkEntry = {
64
+ const isNavigationRequest = requestId == loaderId && type === 'Document';
65
+ const record = this._findNetworkRecord(requestId);
66
+ /**
67
+ * On redirects, another `requestWillBeSent` event will be fired for the
68
+ * same requestId. We calculate the timings for the redirect request using
69
+ * the `redirectedResponse` from the redirected request.
70
+ */
71
+ if (record) {
72
+ if (event.redirectResponse) {
73
+ const response = event.redirectResponse;
74
+ const data = Object.assign(event, {
75
+ type: event.type,
76
+ response,
77
+ encodedDataLength: response.encodedDataLength,
78
+ });
79
+ this._onResponseReceived(data);
80
+ this._onLoadingFinished(data);
81
+ }
82
+ else {
83
+ /**
84
+ * Edge case, we handle it to proceed with next navigation
85
+ */
86
+ this._onLoadingFailed(Object.assign(event, {
87
+ type: event.type,
88
+ errorText: 'redirectResponse data is not available',
89
+ }));
90
+ }
91
+ const redirectedRecord = this._findNetworkRecord(requestId);
92
+ /**
93
+ * Rewrite the map with new redirect id to not reset
94
+ * the redirect request with original request
95
+ */
96
+ this._InflightRequestMap.delete(requestId);
97
+ this._InflightRequestMap.set(`redirect:${timestamp}:${requestId}`, redirectedRecord);
98
+ }
99
+ this._InflightRequestMap.set(requestId, {
82
100
  browser: this._browser,
83
101
  step: this._currentStep,
84
- timestamp,
102
+ timestamp: helpers_1.getTimestamp(),
85
103
  url,
86
- type: request.resourceType(),
87
- method: request.method(),
88
- requestSentTime: epochTimeInSeconds(),
89
- request: {
90
- url,
91
- method: request.method(),
92
- headers: {},
93
- },
94
- response: {
95
- statusCode: -1,
96
- headers: {},
97
- redirectURL: '',
98
- },
99
- isNavigationRequest: request.isNavigationRequest(),
100
- status: -1,
104
+ request,
105
+ type,
106
+ method,
107
+ requestSentTime: timestamp,
108
+ isNavigationRequest,
109
+ status: 0,
101
110
  loadEndTime: -1,
102
111
  responseReceivedTime: -1,
112
+ response: null,
103
113
  resourceSize: 0,
104
114
  transferSize: 0,
105
115
  timings: null,
106
- };
107
- if (request.redirectedFrom()) {
108
- const fromEntry = this._findNetworkEntry(request.redirectedFrom());
109
- if (fromEntry)
110
- fromEntry.response.redirectURL = request.url();
111
- }
112
- request[exports.NETWORK_ENTRY_SUMBOL] = networkEntry;
113
- this.results.push(networkEntry);
116
+ });
114
117
  }
115
- async _onResponse(response) {
116
- const request = response.request();
117
- const networkEntry = this._findNetworkEntry(request);
118
- if (!networkEntry)
118
+ _onRequestWillBeSentExtraInfo(event) {
119
+ const { requestId, headers } = event;
120
+ const record = this._findNetworkRecord(requestId);
121
+ if (!record) {
119
122
  return;
120
- networkEntry.status = response.status();
121
- networkEntry.responseReceivedTime = epochTimeInSeconds();
122
- networkEntry.response = {
123
- url: response.url(),
124
- statusCode: response.status(),
125
- statusText: response.statusText(),
126
- headers: {},
127
- redirectURL: networkEntry.response.redirectURL,
123
+ }
124
+ /**
125
+ * Enhance request headers with additional information
126
+ */
127
+ record.request.headers = {
128
+ ...record.request.headers,
129
+ ...headers,
128
130
  };
129
- const page = request.frame().page();
130
- this._addBarrier(page, request.allHeaders().then(reqHeaders => {
131
- networkEntry.request.headers = reqHeaders;
132
- networkEntry.request.referrer = reqHeaders === null || reqHeaders === void 0 ? void 0 : reqHeaders.referer;
133
- }));
134
- this._addBarrier(page, response.serverAddr().then(server => {
135
- networkEntry.response.remoteIPAddress = server === null || server === void 0 ? void 0 : server.ipAddress;
136
- networkEntry.response.remotePort = server === null || server === void 0 ? void 0 : server.port;
137
- }));
138
- this._addBarrier(page, response.securityDetails().then(details => {
139
- networkEntry.response.securityDetails = details;
140
- }));
141
- this._addBarrier(page, response.allHeaders().then(resHeaders => {
142
- networkEntry.response.headers = resHeaders;
143
- const mimeType = resHeaders['content-type']
144
- ? resHeaders['content-type'].split(';')[0]
145
- : 'unknown';
146
- networkEntry.response.mimeType = mimeType;
147
- }));
148
- }
149
- async _onRequestCompleted(request) {
150
- const networkEntry = this._findNetworkEntry(request);
151
- if (!networkEntry)
131
+ }
132
+ _onDataReceived(event) {
133
+ const { requestId, dataLength, encodedDataLength } = event;
134
+ const record = this._findNetworkRecord(requestId);
135
+ if (!record) {
152
136
  return;
153
- networkEntry.loadEndTime = epochTimeInSeconds();
154
- const timing = request.timing();
155
- const { loadEndTime, requestSentTime } = networkEntry;
156
- networkEntry.timings = {
157
- blocked: -1,
158
- dns: -1,
159
- ssl: -1,
160
- connect: -1,
161
- send: -1,
162
- wait: -1,
163
- receive: -1,
164
- total: -1,
165
- };
166
- const firstPositive = (numbers) => {
167
- for (let i = 0; i < numbers.length; ++i) {
168
- if (numbers[i] > 0) {
169
- return numbers[i];
170
- }
171
- }
172
- return null;
173
- };
174
- const roundMilliSecs = (value) => {
175
- return Math.floor(value * 1000) / 1000;
176
- };
177
- if (timing.startTime === 0) {
178
- // Convert to milliseconds before round off
179
- const total = roundMilliSecs((loadEndTime - requestSentTime) * 1000);
180
- networkEntry.timings.total = total;
137
+ }
138
+ record.resourceSize += dataLength;
139
+ if (encodedDataLength >= 0)
140
+ record.transferSize += encodedDataLength;
141
+ }
142
+ _onResponseReceived(event) {
143
+ const { requestId, response, timestamp } = event;
144
+ const record = this._findNetworkRecord(requestId);
145
+ if (!record) {
181
146
  return;
182
147
  }
183
- const blocked = roundMilliSecs(firstPositive([
184
- timing.domainLookupStart,
185
- timing.connectStart,
186
- timing.requestStart,
187
- ])) || -1;
188
- const dns = timing.domainLookupEnd !== -1
189
- ? roundMilliSecs(timing.domainLookupEnd - timing.domainLookupStart)
190
- : -1;
191
- const connect = timing.connectEnd !== -1
192
- ? roundMilliSecs(timing.connectEnd - timing.connectStart)
193
- : -1;
194
- const ssl = timing.secureConnectionStart !== -1
195
- ? roundMilliSecs(timing.connectEnd - timing.secureConnectionStart)
196
- : -1;
197
- const wait = timing.responseStart !== -1
198
- ? roundMilliSecs(timing.responseStart - timing.requestStart)
199
- : -1;
200
- const receive = timing.responseEnd !== -1
201
- ? roundMilliSecs(timing.responseEnd - timing.responseStart)
202
- : -1;
203
- const total = [blocked, dns, connect, wait, receive].reduce((pre, cur) => (cur > 0 ? cur + pre : pre), 0);
204
- networkEntry.timings = {
205
- blocked,
206
- dns,
207
- connect,
208
- ssl,
209
- wait,
210
- send: 0,
211
- receive,
212
- total: roundMilliSecs(total),
213
- };
214
- const page = request.frame().page();
215
- // For aborted/failed requests sizes does not exist
216
- this._addBarrier(page, request.sizes().then(sizes => {
217
- networkEntry.request.bytes =
218
- sizes.requestHeadersSize + sizes.requestBodySize;
219
- networkEntry.request.body = {
220
- bytes: sizes.requestBodySize,
221
- };
222
- networkEntry.response.bytes =
223
- sizes.responseHeadersSize + sizes.responseBodySize;
224
- networkEntry.response.body = {
225
- bytes: sizes.responseBodySize,
226
- };
227
- networkEntry.transferSize = sizes.responseBodySize;
228
- }));
148
+ Object.assign(record, {
149
+ status: response.status,
150
+ response,
151
+ responseReceivedTime: timestamp,
152
+ transferSize: response.encodedDataLength,
153
+ });
154
+ }
155
+ _onLoadingFinished(event) {
156
+ const { requestId, timestamp, encodedDataLength } = event;
157
+ this._requestCompleted(requestId, timestamp, encodedDataLength);
229
158
  }
159
+ _onLoadingFailed(event) {
160
+ const { requestId, timestamp } = event;
161
+ this._requestCompleted(requestId, timestamp);
162
+ }
163
+ _requestCompleted(requestId, endTime, encodedDataLength) {
164
+ const record = this._findNetworkRecord(requestId);
165
+ if (!record) {
166
+ return;
167
+ }
168
+ if (encodedDataLength >= 0) {
169
+ record.transferSize = encodedDataLength;
170
+ }
171
+ record.loadEndTime = endTime;
172
+ record.timings = calculateTimings(record);
173
+ this.results.push(record);
174
+ /**
175
+ * When there is DNS failure, browsers keeps retrying requests which
176
+ * might result in incorrect timings so we get remove them to measure only once
177
+ */
178
+ this._InflightRequestMap.delete(requestId);
179
+ }
180
+ /**
181
+ * Account for missing response received event and also adjust the
182
+ * response received event based on when first byte event was recorded
183
+ */
230
184
  stop() {
231
- const context = this.driver.context;
232
- context.on('request', this._onRequest.bind(this));
233
- context.on('response', this._onResponse.bind(this));
234
- context.on('requestfinished', this._onRequestCompleted.bind(this));
235
- context.on('requestfailed', this._onRequestCompleted.bind(this));
236
- this._barrierPromises.clear();
237
185
  return this.results;
238
186
  }
239
187
  }
240
188
  exports.NetworkManager = NetworkManager;
189
+ function getResponseReceivedTime(timing, responseReceivedTime) {
190
+ if (timing == null) {
191
+ return responseReceivedTime;
192
+ }
193
+ const startTime = timing.requestTime;
194
+ const headersReceivedTime = startTime + timing.receiveHeadersEnd / 1000;
195
+ if (responseReceivedTime < 0 || responseReceivedTime > headersReceivedTime) {
196
+ responseReceivedTime = headersReceivedTime;
197
+ }
198
+ if (startTime > responseReceivedTime) {
199
+ responseReceivedTime = startTime;
200
+ }
201
+ return responseReceivedTime;
202
+ }
203
+ /**
204
+ * The timing calculations are based on the chrome devtools frontend
205
+ * https://github.com/ChromeDevTools/devtools-frontend/blob/7f5478d8ceb7586f23f4073ab5c2085dac1ec26a/front_end/network/RequestTimingView.js#L98-L193
206
+ */
207
+ function calculateTimings(record) {
208
+ const result = {
209
+ blocked: -1,
210
+ queueing: -1,
211
+ proxy: -1,
212
+ dns: -1,
213
+ ssl: -1,
214
+ connect: -1,
215
+ send: -1,
216
+ wait: -1,
217
+ receive: -1,
218
+ total: -1,
219
+ };
220
+ const { requestSentTime, loadEndTime, responseReceivedTime } = record;
221
+ /**
222
+ * Handle when request failed and no responseReceived event was
223
+ * fired for that particular request
224
+ * Eg: connection refused by remote host
225
+ */
226
+ const response = record.response || {
227
+ timing: null,
228
+ fromServiceWorker: false,
229
+ };
230
+ const toMilliseconds = (time) => (time === -1 ? -1 : time * 1000);
231
+ const calculateDiffInMs = (name, start, end) => {
232
+ if (start < Number.MAX_VALUE && start <= end) {
233
+ result[name] = toMilliseconds(end - start);
234
+ }
235
+ };
236
+ const firstPositive = (numbers) => {
237
+ for (let i = 0; i < numbers.length; ++i) {
238
+ if (numbers[i] > 0) {
239
+ return numbers[i];
240
+ }
241
+ }
242
+ return null;
243
+ };
244
+ /**
245
+ * requestTime is baseline in seconds, rest of the timing data are ticks in milliseconds
246
+ * from the requestTime, so we calculate the offset from that
247
+ */
248
+ const addOffsetRange = (name, start, end) => {
249
+ if (start >= 0 && end >= 0) {
250
+ calculateDiffInMs(name, startTime + start / 1000, startTime + end / 1000);
251
+ }
252
+ };
253
+ const timing = response.timing;
254
+ const actResRcvdTime = getResponseReceivedTime(timing, responseReceivedTime);
255
+ const issueTime = requestSentTime;
256
+ const startTime = timing == null ? -1 : timing.requestTime;
257
+ const endTime = firstPositive([loadEndTime, actResRcvdTime]) || startTime;
258
+ if (timing == null) {
259
+ const start = issueTime !== -1 ? issueTime : startTime !== -1 ? startTime : 0;
260
+ const middle = actResRcvdTime === -1 ? Number.MAX_VALUE : actResRcvdTime;
261
+ const end = endTime === -1 ? Number.MAX_VALUE : endTime;
262
+ calculateDiffInMs('total', start, end);
263
+ calculateDiffInMs('blocked', start, middle);
264
+ calculateDiffInMs('receive', middle, end);
265
+ // Check if the request is blocked/stalled for the whole timeframe and
266
+ // calculate timings appropriately for that request
267
+ if (!isFinite(result['blocked'])) {
268
+ result['blocked'] = result['total'];
269
+ }
270
+ return result;
271
+ }
272
+ calculateDiffInMs('total', issueTime < startTime ? issueTime : startTime, endTime);
273
+ if (issueTime < startTime) {
274
+ calculateDiffInMs('queueing', issueTime, startTime);
275
+ }
276
+ const responseReceived = toMilliseconds(actResRcvdTime - startTime);
277
+ if (response.fromServiceWorker) {
278
+ addOffsetRange('blocked', 0, timing.workerStart);
279
+ addOffsetRange('wait', timing.sendEnd, responseReceived);
280
+ }
281
+ else if (!timing.pushStart) {
282
+ const blockingEnd = firstPositive([
283
+ timing.dnsStart,
284
+ timing.connectStart,
285
+ timing.sendStart,
286
+ responseReceived,
287
+ ]) || 0;
288
+ addOffsetRange('blocked', 0, blockingEnd);
289
+ addOffsetRange('proxy', timing.proxyStart, timing.proxyEnd);
290
+ addOffsetRange('dns', timing.dnsStart, timing.dnsEnd);
291
+ addOffsetRange('connect', timing.connectStart, timing.connectEnd);
292
+ addOffsetRange('ssl', timing.sslStart, timing.sslEnd);
293
+ addOffsetRange('send', timing.sendStart, timing.sendEnd);
294
+ addOffsetRange('wait', Math.max(timing.sendEnd, timing.connectEnd, timing.dnsEnd, timing.proxyEnd, blockingEnd), responseReceived);
295
+ }
296
+ calculateDiffInMs('receive', actResRcvdTime, endTime);
297
+ return result;
298
+ }
299
+ exports.calculateTimings = calculateTimings;
241
300
  //# sourceMappingURL=network.js.map