@elastic/synthetics 1.0.0-beta.2 → 1.0.0-beta.20

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 (115) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/NOTICE.txt +250 -0
  3. package/README.md +2 -1
  4. package/dist/cli.js +80 -49
  5. package/dist/cli.js.map +1 -1
  6. package/dist/common_types.d.ts +77 -10
  7. package/dist/common_types.d.ts.map +1 -1
  8. package/dist/config.d.ts +2 -5
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/core/expect.d.ts +177 -0
  12. package/dist/core/expect.d.ts.map +1 -0
  13. package/dist/core/expect.js +33 -0
  14. package/dist/core/expect.js.map +1 -0
  15. package/dist/core/gatherer.d.ts +4 -7
  16. package/dist/core/gatherer.d.ts.map +1 -1
  17. package/dist/core/gatherer.js +33 -9
  18. package/dist/core/gatherer.js.map +1 -1
  19. package/dist/core/index.d.ts +5 -5
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +1 -1
  22. package/dist/core/index.js.map +1 -1
  23. package/dist/core/logger.d.ts +0 -1
  24. package/dist/core/logger.d.ts.map +1 -1
  25. package/dist/core/logger.js +2 -15
  26. package/dist/core/logger.js.map +1 -1
  27. package/dist/core/runner.d.ts +54 -45
  28. package/dist/core/runner.d.ts.map +1 -1
  29. package/dist/core/runner.js +173 -63
  30. package/dist/core/runner.js.map +1 -1
  31. package/dist/dsl/journey.d.ts +13 -4
  32. package/dist/dsl/journey.d.ts.map +1 -1
  33. package/dist/dsl/journey.js +40 -1
  34. package/dist/dsl/journey.js.map +1 -1
  35. package/dist/formatter/javascript.d.ts +73 -0
  36. package/dist/formatter/javascript.d.ts.map +1 -0
  37. package/dist/formatter/javascript.js +274 -0
  38. package/dist/formatter/javascript.js.map +1 -0
  39. package/dist/helpers.d.ts +33 -12
  40. package/dist/helpers.d.ts.map +1 -1
  41. package/dist/helpers.js +100 -46
  42. package/dist/helpers.js.map +1 -1
  43. package/dist/index.d.ts +8 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +6 -7
  46. package/dist/index.js.map +1 -1
  47. package/dist/parse_args.d.ts +5 -2
  48. package/dist/parse_args.d.ts.map +1 -1
  49. package/dist/parse_args.js +59 -16
  50. package/dist/parse_args.js.map +1 -1
  51. package/dist/plugins/browser-console.d.ts +5 -8
  52. package/dist/plugins/browser-console.d.ts.map +1 -1
  53. package/dist/plugins/browser-console.js +26 -7
  54. package/dist/plugins/browser-console.js.map +1 -1
  55. package/dist/plugins/network.d.ts +20 -20
  56. package/dist/plugins/network.d.ts.map +1 -1
  57. package/dist/plugins/network.js +110 -108
  58. package/dist/plugins/network.js.map +1 -1
  59. package/dist/plugins/performance.d.ts +5 -5
  60. package/dist/plugins/performance.d.ts.map +1 -1
  61. package/dist/plugins/performance.js +5 -5
  62. package/dist/plugins/performance.js.map +1 -1
  63. package/dist/plugins/plugin-manager.d.ts +11 -11
  64. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  65. package/dist/plugins/plugin-manager.js +40 -24
  66. package/dist/plugins/plugin-manager.js.map +1 -1
  67. package/dist/plugins/tracing.d.ts +10 -25
  68. package/dist/plugins/tracing.d.ts.map +1 -1
  69. package/dist/plugins/tracing.js +40 -26
  70. package/dist/plugins/tracing.js.map +1 -1
  71. package/dist/reporters/base.d.ts +0 -1
  72. package/dist/reporters/base.d.ts.map +1 -1
  73. package/dist/reporters/base.js +22 -23
  74. package/dist/reporters/base.js.map +1 -1
  75. package/dist/reporters/json.d.ts +43 -7
  76. package/dist/reporters/json.d.ts.map +1 -1
  77. package/dist/reporters/json.js +181 -35
  78. package/dist/reporters/json.js.map +1 -1
  79. package/dist/sdk/lh-trace-processor.d.ts +304 -0
  80. package/dist/sdk/lh-trace-processor.d.ts.map +1 -0
  81. package/dist/sdk/lh-trace-processor.js +832 -0
  82. package/dist/sdk/lh-trace-processor.js.map +1 -0
  83. package/dist/sdk/trace-metrics.d.ts +61 -0
  84. package/dist/sdk/trace-metrics.d.ts.map +1 -0
  85. package/dist/sdk/trace-metrics.js +252 -0
  86. package/dist/sdk/trace-metrics.js.map +1 -0
  87. package/dist/sdk/trace-processor.d.ts +106 -0
  88. package/dist/sdk/trace-processor.d.ts.map +1 -0
  89. package/dist/sdk/trace-processor.js +74 -0
  90. package/dist/sdk/trace-processor.js.map +1 -0
  91. package/dist/tsconfig.tsbuildinfo +1 -1575
  92. package/package.json +24 -13
  93. package/src/cli.ts +68 -45
  94. package/src/common_types.ts +92 -10
  95. package/src/config.ts +2 -5
  96. package/src/core/expect.ts +187 -0
  97. package/src/core/gatherer.ts +44 -23
  98. package/src/core/index.ts +6 -6
  99. package/src/core/logger.ts +1 -12
  100. package/src/core/runner.ts +259 -112
  101. package/src/dsl/journey.ts +28 -6
  102. package/src/formatter/javascript.ts +330 -0
  103. package/src/helpers.ts +114 -24
  104. package/src/index.ts +7 -6
  105. package/src/parse_args.ts +97 -22
  106. package/src/plugins/browser-console.ts +30 -13
  107. package/src/plugins/network.ts +137 -144
  108. package/src/plugins/performance.ts +7 -7
  109. package/src/plugins/plugin-manager.ts +47 -36
  110. package/src/plugins/tracing.ts +43 -54
  111. package/src/reporters/base.ts +24 -23
  112. package/src/reporters/json.ts +251 -41
  113. package/src/sdk/lh-trace-processor.ts +1033 -0
  114. package/src/sdk/trace-metrics.ts +287 -0
  115. package/src/sdk/trace-processor.ts +147 -0
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,8 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { CDPSession } from 'playwright-chromium';
26
- export interface Metrics {
25
+ import { Driver } from '../common_types';
26
+ export interface PageMetrics {
27
27
  Timestamp?: number;
28
28
  Documents?: number;
29
29
  Frames?: number;
@@ -39,11 +39,11 @@ export interface Metrics {
39
39
  JSHeapTotalSize?: number;
40
40
  }
41
41
  export declare class PerformanceManager {
42
- private client;
43
- constructor(client: CDPSession);
42
+ private driver;
43
+ constructor(driver: Driver);
44
44
  start(): Promise<void>;
45
45
  stop(): Promise<void>;
46
- getMetrics(): Promise<Metrics>;
46
+ getMetrics(): Promise<PageMetrics>;
47
47
  private buildMetricsObject;
48
48
  }
49
49
  //# sourceMappingURL=performance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkBjD,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEhC,KAAK;IAIL,IAAI;IAIJ,UAAU;IAKhB,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkBzC,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE5B,KAAK;IAIL,IAAI;IAIJ,UAAU;IAKhB,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -41,17 +41,17 @@ const supportedMetrics = new Set([
41
41
  'JSHeapTotalSize',
42
42
  ]);
43
43
  class PerformanceManager {
44
- constructor(client) {
45
- this.client = client;
44
+ constructor(driver) {
45
+ this.driver = driver;
46
46
  }
47
47
  async start() {
48
- await this.client.send('Performance.enable');
48
+ await this.driver.client.send('Performance.enable');
49
49
  }
50
50
  async stop() {
51
- await this.client.send('Performance.disable');
51
+ await this.driver.client.send('Performance.disable');
52
52
  }
53
53
  async getMetrics() {
54
- const { metrics } = await this.client.send('Performance.getMetrics');
54
+ const { metrics } = await this.driver.client.send('Performance.getMetrics');
55
55
  return this.buildMetricsObject(metrics);
56
56
  }
57
57
  buildMetricsObject(metrics = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAIH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,WAAW;IACX,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAkBH,MAAa,kBAAkB;IAC7B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,OAAO,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;SAC3E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,gDAuBC"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/plugins/performance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAIH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,WAAW;IACX,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAkBH,MAAa,kBAAkB;IAC7B,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEtC,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,OAAO,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;SAC3E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvBD,gDAuBC"}
@@ -22,25 +22,25 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { NetworkInfo, FilmStrip } from '../common_types';
26
- import { BrowserConsole, BrowserMessage, NetworkManager, PerformanceManager, Tracing } from './';
27
- import { Driver } from '../core/gatherer';
25
+ import { PluginOutput, Driver } from '../common_types';
26
+ import { BrowserConsole, NetworkManager, PerformanceManager, Tracing, TraceOptions } from './';
28
27
  import { Step } from '../dsl';
29
28
  declare type PluginType = 'network' | 'trace' | 'performance' | 'browserconsole';
30
- declare type PluginOutput = {
31
- filmstrips?: Array<FilmStrip>;
32
- networkinfo?: Array<NetworkInfo>;
33
- browserconsole?: Array<BrowserMessage>;
34
- };
35
29
  declare type Plugin = NetworkManager | Tracing | PerformanceManager | BrowserConsole;
30
+ declare type PluginOptions = TraceOptions;
36
31
  export declare class PluginManager {
37
32
  private driver;
38
- protected plugins: Map<string, Plugin>;
33
+ protected plugins: Map<PluginType, Plugin>;
34
+ PLUGIN_TYPES: Array<PluginType>;
39
35
  constructor(driver: Driver);
36
+ register(type: PluginType, options: PluginOptions): Plugin;
37
+ registerAll(options: PluginOptions): void;
38
+ unregisterAll(): void;
39
+ stop(type: PluginType): Promise<void | import("../common_types").NetworkInfo[] | Partial<PluginOutput> | import("../common_types").BrowserMessage[]>;
40
40
  start(type: PluginType): Promise<Plugin>;
41
- get<T extends Plugin>(Type: new (...args: any[]) => T): T;
41
+ get(type: PluginType): Plugin;
42
42
  onStep(step: Step): void;
43
- output(): Promise<PluginOutput>;
43
+ output(): PluginOutput;
44
44
  }
45
45
  export {};
46
46
  //# sourceMappingURL=plugin-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EAER,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,aAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEzE,aAAK,YAAY,GAAG;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,aAAK,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE7E,qBAAa,aAAa;IAGZ,OAAO,CAAC,MAAM;IAF1B,SAAS,CAAC,OAAO,sBAA6B;gBAE1B,MAAM,EAAE,MAAM;IAE5B,KAAK,CAAC,IAAI,EAAE,UAAU;IAyB5B,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAIzD,MAAM,CAAC,IAAI,EAAE,IAAI;IAKX,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAkBtC"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,YAAY,EACb,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,aAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;AACzE,aAAK,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAC7E,aAAK,aAAa,GAAG,YAAY,CAAC;AAElC,qBAAa,aAAa;IAQZ,OAAO,CAAC,MAAM;IAP1B,SAAS,CAAC,OAAO,0BAAiC;IAC3C,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAKpC;gBACkB,MAAM,EAAE,MAAM;IAElC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAoBjD,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,aAAa;IAMP,IAAI,CAAC,IAAI,EAAE,UAAU;IAQrB,KAAK,CAAC,IAAI,EAAE,UAAU;IAM5B,GAAG,CAAC,IAAI,EAAE,UAAU;IAIpB,MAAM,CAAC,IAAI,EAAE,IAAI;IAKjB,MAAM;CAWP"}
@@ -30,51 +30,67 @@ class PluginManager {
30
30
  constructor(driver) {
31
31
  this.driver = driver;
32
32
  this.plugins = new Map();
33
+ this.PLUGIN_TYPES = [
34
+ 'network',
35
+ 'trace',
36
+ 'performance',
37
+ 'browserconsole',
38
+ ];
33
39
  }
34
- async start(type) {
40
+ register(type, options) {
35
41
  let instance;
36
42
  switch (type) {
37
43
  case 'network':
38
- instance = new _1.NetworkManager();
39
- await instance.start(this.driver.client);
44
+ instance = new _1.NetworkManager(this.driver);
40
45
  break;
41
46
  case 'trace':
42
- instance = new _1.Tracing();
43
- await instance.start(this.driver.client);
47
+ instance = new _1.Tracing(this.driver, options);
44
48
  break;
45
49
  case 'performance':
46
- instance = new _1.PerformanceManager(this.driver.client);
47
- instance.start();
50
+ instance = new _1.PerformanceManager(this.driver);
48
51
  break;
49
52
  case 'browserconsole':
50
- instance = new _1.BrowserConsole(this.driver.page);
51
- instance.start();
53
+ instance = new _1.BrowserConsole(this.driver);
52
54
  break;
53
55
  }
54
- this.plugins.set(instance.constructor.name, instance);
56
+ instance && this.plugins.set(type, instance);
55
57
  return instance;
56
58
  }
57
- get(Type) {
58
- return this.plugins.get(Type.name);
59
+ registerAll(options) {
60
+ for (const type of this.PLUGIN_TYPES) {
61
+ this.register(type, options);
62
+ }
63
+ }
64
+ unregisterAll() {
65
+ for (const type of this.PLUGIN_TYPES) {
66
+ this.plugins.delete(type);
67
+ }
68
+ }
69
+ async stop(type) {
70
+ const instance = this.plugins.get(type);
71
+ if (instance) {
72
+ return await instance.stop();
73
+ }
74
+ return {};
75
+ }
76
+ async start(type) {
77
+ const instance = this.plugins.get(type);
78
+ instance && (await instance.start());
79
+ return instance;
80
+ }
81
+ get(type) {
82
+ return this.plugins.get(type);
59
83
  }
60
84
  onStep(step) {
61
- this.get(_1.BrowserConsole) && (this.get(_1.BrowserConsole)._currentStep = step);
62
- this.get(_1.NetworkManager) && (this.get(_1.NetworkManager)._currentStep = step);
85
+ this.get('browserconsole')._currentStep = step;
86
+ this.get('network')._currentStep = step;
63
87
  }
64
- async output() {
65
- const data = {
66
- filmstrips: [],
67
- networkinfo: [],
68
- browserconsole: null,
69
- };
88
+ output() {
89
+ const data = {};
70
90
  for (const [, plugin] of this.plugins) {
71
91
  if (plugin instanceof _1.NetworkManager) {
72
92
  data.networkinfo = plugin.stop();
73
93
  }
74
- else if (plugin instanceof _1.Tracing) {
75
- const result = await plugin.stop(this.driver.client);
76
- data.filmstrips = _1.filterFilmstrips(result);
77
- }
78
94
  else if (plugin instanceof _1.BrowserConsole) {
79
95
  data.browserconsole = plugin.stop();
80
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAGH,yBAOY;AAcZ,MAAa,aAAa;IAGxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFxB,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAET,CAAC;IAEtC,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,IAAI,QAAgB,CAAC;QACrB,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,QAAQ,GAAG,IAAI,iBAAc,EAAE,CAAC;gBAChC,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,IAAI,UAAO,EAAE,CAAC;gBACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,GAAG,IAAI,qBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtD,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM;YACR,KAAK,gBAAgB;gBACnB,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM;SACT;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAmB,IAA+B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAM,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAc,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,IAAI;SACrB,CAAC;QACF,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACrC,IAAI,MAAM,YAAY,iBAAc,EAAE;gBACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aAClC;iBAAM,IAAI,MAAM,YAAY,UAAO,EAAE;gBACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,GAAG,mBAAgB,CAAC,MAAM,CAAC,CAAC;aAC5C;iBAAM,IAAI,MAAM,YAAY,iBAAc,EAAE;gBAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aACrC;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzDD,sCAyDC"}
1
+ {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAGH,yBAMY;AAOZ,MAAa,aAAa;IAQxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAPxB,YAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC3C,iBAAY,GAAsB;YACvC,SAAS;YACT,OAAO;YACP,aAAa;YACb,gBAAgB;SACjB,CAAC;IACmC,CAAC;IAEtC,QAAQ,CAAC,IAAgB,EAAE,OAAsB;QAC/C,IAAI,QAAgB,CAAC;QACrB,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,IAAI,UAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,GAAG,IAAI,qBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,gBAAgB;gBACnB,QAAQ,GAAG,IAAI,iBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;SACT;QACD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,aAAa;QACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE;YACZ,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,QAAQ,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,IAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAU;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;IAC9D,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACrC,IAAI,MAAM,YAAY,iBAAc,EAAE;gBACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aAClC;iBAAM,IAAI,MAAM,YAAY,iBAAc,EAAE;gBAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;aACrC;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5ED,sCA4EC"}
@@ -22,35 +22,20 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { CDPSession } from 'playwright-chromium';
26
- import { FilmStrip } from '../common_types';
27
- /**
28
- * Trace Event Format
29
- * https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU
30
- */
31
- declare type TraceEvent = {
32
- name: string;
33
- cat: string;
34
- pid: number;
35
- tid: number;
36
- ph?: string;
37
- args?: {
38
- snapshot: string;
39
- };
40
- /**
41
- * Platform specific monotonic non decreasing clock time
42
- * https://source.chromium.org/chromium/chromium/src/+/master:base/time/time.h;l=936;bpv=0;bpt=0
43
- */
44
- ts: number;
25
+ import { Driver, PluginOutput } from '../common_types';
26
+ export declare type TraceOptions = {
27
+ filmstrips?: boolean;
28
+ trace?: boolean;
45
29
  };
46
- export declare function filterFilmstrips(traceEvents: Array<TraceEvent>): Array<FilmStrip>;
47
30
  /**
48
- * Custom Tracer that only traces the filmstrips
31
+ * Custom Tracer that listenes for events from specified categories
49
32
  * https://chromedevtools.github.io/devtools-protocol/tot/Tracing/
50
33
  */
51
34
  export declare class Tracing {
52
- start(client: CDPSession): Promise<void>;
53
- stop(client: CDPSession): Promise<TraceEvent[]>;
35
+ private driver;
36
+ private options;
37
+ constructor(driver: Driver, options: TraceOptions);
38
+ start(): Promise<void>;
39
+ stop(): Promise<Partial<PluginOutput>>;
54
40
  }
55
- export {};
56
41
  //# sourceMappingURL=tracing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/plugins/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;GAGG;AACH,aAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;IAEZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAC7B,KAAK,CAAC,SAAS,CAAC,CAelB;AAED;;;GAGG;AACH,qBAAa,OAAO;IACZ,KAAK,CAAC,MAAM,EAAE,UAAU;IAmBxB,IAAI,CAAC,MAAM,EAAE,UAAU;CAgB9B"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/plugins/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIvD,oBAAY,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,OAAO;gBAA/B,MAAM,EAAE,MAAM,EAAU,OAAO,EAAE,YAAY;IAE3D,KAAK;IAkCL,IAAI;CA0BX"}
@@ -24,48 +24,53 @@
24
24
  *
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.Tracing = exports.filterFilmstrips = void 0;
28
- const helpers_1 = require("../helpers");
29
- function filterFilmstrips(traceEvents) {
30
- const events = traceEvents.filter(event => {
31
- const { args, cat, name } = event;
32
- return (name === 'Screenshot' &&
33
- cat === 'disabled-by-default-devtools.screenshot' &&
34
- (args === null || args === void 0 ? void 0 : args.snapshot));
35
- });
36
- return events.map(event => ({
37
- snapshot: event.args.snapshot,
38
- ts: event.ts,
39
- startTime: helpers_1.convertTraceTimestamp(event.ts),
40
- }));
41
- }
42
- exports.filterFilmstrips = filterFilmstrips;
27
+ exports.Tracing = void 0;
28
+ const trace_metrics_1 = require("../sdk/trace-metrics");
29
+ const trace_processor_1 = require("../sdk/trace-processor");
43
30
  /**
44
- * Custom Tracer that only traces the filmstrips
31
+ * Custom Tracer that listenes for events from specified categories
45
32
  * https://chromedevtools.github.io/devtools-protocol/tot/Tracing/
46
33
  */
47
34
  class Tracing {
48
- async start(client) {
35
+ constructor(driver, options) {
36
+ this.driver = driver;
37
+ this.options = options;
38
+ }
39
+ async start() {
49
40
  const includedCategories = [
50
41
  // exclude all default categories
51
42
  '-*',
52
- // capture screenshots
53
- 'disabled-by-default-devtools.screenshot',
54
43
  ];
55
- await client.send('Tracing.start', {
44
+ if (this.options.filmstrips) {
45
+ // capture screenshots - up to 450 max for each trace (https://goo.gl/rBfhn4)
46
+ includedCategories.push('disabled-by-default-devtools.screenshot');
47
+ }
48
+ if (this.options.trace) {
49
+ includedCategories.push(
50
+ // Used instead of 'toplevel' in Chrome 71+
51
+ 'disabled-by-default-lighthouse',
52
+ // Cumulative Layout Shift metric
53
+ 'loading',
54
+ // UserTiming marks/measures
55
+ 'blink.user_timing',
56
+ // Most of the events we need are from these two categories
57
+ // Includes FCP, LCP, Main thread frames, process, etc.
58
+ 'devtools.timeline', 'disabled-by-default-devtools.timeline');
59
+ }
60
+ await this.driver.client.send('Tracing.start', {
56
61
  /**
57
62
  * Using `ReportEvents` makes gathering trace events
58
63
  * much faster as opposed to using `ReturnAsStream` mode
59
64
  */
60
65
  transferMode: 'ReportEvents',
61
- traceConfig: {
62
- includedCategories,
63
- },
66
+ categories: includedCategories.join(','),
67
+ options: 'sampling-frequency=10000', // 1000 is default
64
68
  });
65
69
  }
66
- async stop(client) {
70
+ async stop() {
67
71
  const events = [];
68
72
  const collectListener = payload => events.push(...payload.value);
73
+ const { client } = this.driver;
69
74
  client.on('Tracing.dataCollected', collectListener);
70
75
  const [traceEvents] = await Promise.all([
71
76
  new Promise(resolve => client.once('Tracing.tracingComplete', () => {
@@ -74,7 +79,16 @@ class Tracing {
74
79
  })),
75
80
  client.send('Tracing.end'),
76
81
  ]);
77
- return traceEvents;
82
+ const output = {};
83
+ if (this.options.filmstrips) {
84
+ output.filmstrips = trace_metrics_1.Filmstrips.compute(traceEvents);
85
+ }
86
+ if (this.options.trace) {
87
+ Object.assign(output, {
88
+ ...trace_processor_1.TraceProcessor.computeTrace(traceEvents),
89
+ });
90
+ }
91
+ return output;
78
92
  }
79
93
  }
80
94
  exports.Tracing = Tracing;
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/plugins/tracing.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAIH,wCAAmD;AA0BnD,SAAgB,gBAAgB,CAC9B,WAA8B;IAE9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAClC,OAAO,CACL,IAAI,KAAK,YAAY;YACrB,GAAG,KAAK,yCAAyC;aACjD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAA,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;QAC7B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,+BAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;KAC3C,CAAC,CAAC,CAAC;AACN,CAAC;AAjBD,4CAiBC;AAED;;;GAGG;AACH,MAAa,OAAO;IAClB,KAAK,CAAC,KAAK,CAAC,MAAkB;QAC5B,MAAM,kBAAkB,GAAG;YACzB,iCAAiC;YACjC,IAAI;YACJ,sBAAsB;YACtB,yCAAyC;SAC1C,CAAC;QACF,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YACjC;;;eAGG;YACH,YAAY,EAAE,cAAc;YAC5B,WAAW,EAAE;gBACX,kBAAkB;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkB;QAC3B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;QAEpD,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBAC1C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;gBACrD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CACH;YACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,WAAgC,CAAC;IAC1C,CAAC;CACF;AApCD,0BAoCC"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/plugins/tracing.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAGH,wDAAkD;AAClD,4DAAoE;AAOpE;;;GAGG;AACH,MAAa,OAAO;IAClB,YAAoB,MAAc,EAAU,OAAqB;QAA7C,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAErE,KAAK,CAAC,KAAK;QACT,MAAM,kBAAkB,GAAG;YACzB,iCAAiC;YACjC,IAAI;SACL,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,6EAA6E;YAC7E,kBAAkB,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SACpE;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,kBAAkB,CAAC,IAAI;YACrB,2CAA2C;YAC3C,gCAAgC;YAChC,iCAAiC;YACjC,SAAS;YACT,4BAA4B;YAC5B,mBAAmB;YACnB,2DAA2D;YAC3D,uDAAuD;YACvD,mBAAmB,EACnB,uCAAuC,CACxC,CAAC;SACH;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAC7C;;;eAGG;YACH,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB;SACxD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;QAEpD,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBAC1C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;gBACrD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CACH;YACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,MAAM,CAAC,UAAU,GAAG,0BAAU,CAAC,OAAO,CAAC,WAAgC,CAAC,CAAC;SAC1E;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBACpB,GAAG,gCAAc,CAAC,YAAY,CAAC,WAAgC,CAAC;aACjE,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/DD,0BA+DC"}
@@ -30,7 +30,6 @@ export default class BaseReporter {
30
30
  stream: SonicBoom;
31
31
  fd: number;
32
32
  constructor(runner: Runner, options?: ReporterOptions);
33
- close(): void;
34
33
  _registerListeners(): void;
35
34
  write(message: any): void;
36
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAQpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyB7C,MAAM,CAAC,OAAO,OAAO,YAAY;IAIZ,MAAM,EAAE,MAAM;IAHjC,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;gBAEQ,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAOhE,KAAK;IAmBL,kBAAkB;IAsClB,KAAK,CAAC,OAAO,KAAA;CAMd"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAQpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyB7C,MAAM,CAAC,OAAO,OAAO,YAAY;IAIZ,MAAM,EAAE,MAAM;IAHjC,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;gBAEQ,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAYhE,kBAAkB;IAqDlB,KAAK,CAAC,OAAO,KAAA;CAMd"}
@@ -55,28 +55,14 @@ class BaseReporter {
55
55
  constructor(runner, options = {}) {
56
56
  this.runner = runner;
57
57
  this.fd = options.fd || process.stdout.fd;
58
- this.stream = new sonic_boom_1.default({ fd: this.fd, sync: true });
58
+ /**
59
+ * minLength is set to 1 byte to make sure we flush the
60
+ * content even if its the last byte on the stream buffer
61
+ * before destroying the pipe with underlying file descriptor
62
+ */
63
+ this.stream = new sonic_boom_1.default({ fd: this.fd, sync: true, minLength: 1 });
59
64
  this._registerListeners();
60
- this.runner.on('end', () => this.close());
61
- }
62
- close() {
63
- if (this.fd <= 2) {
64
- /**
65
- * For stdout/stderr we destroy stream once data is written and run
66
- * it as the last listener giving enough room for
67
- * other reporters to write to stream
68
- */
69
- setImmediate(() => this.stream.end());
70
- }
71
- else {
72
- /**
73
- * If the user has passed a custom FD we don't close the FD, but we do flush it
74
- * to give them more control. This is important because FDs should only be closed
75
- * once, and the primary use case for custom FDs is being called by heartbeat, which
76
- * closes the FD after the process exits
77
- */
78
- this.stream.flush();
79
- }
65
+ this.runner.on('end', () => this.stream.flush());
80
66
  }
81
67
  _registerListeners() {
82
68
  const result = {
@@ -93,14 +79,27 @@ class BaseReporter {
93
79
  error && this.write(renderError(error));
94
80
  result[status]++;
95
81
  });
82
+ this.runner.on('journey:end', ({ error }) => {
83
+ const { failed, succeeded, skipped } = result;
84
+ const total = failed + succeeded + skipped;
85
+ /**
86
+ * Render the error on the terminal only when no steps could
87
+ * be executed which means the error happened in one of the hooks
88
+ */
89
+ if (total === 0 && error) {
90
+ this.write(renderError(error));
91
+ }
92
+ });
96
93
  this.runner.on('end', () => {
97
94
  const { failed, succeeded, skipped } = result;
98
95
  const total = failed + succeeded + skipped;
96
+ let message = '\n';
99
97
  if (total === 0) {
100
- this.write('No tests found!');
98
+ message = 'No tests found!';
99
+ message += ` (${renderDuration(helpers_1.now())} ms) \n`;
100
+ this.write(message);
101
101
  return;
102
102
  }
103
- let message = '\n';
104
103
  message += succeeded > 0 ? colors_1.green(` ${succeeded} passed`) : '';
105
104
  message += failed > 0 ? colors_1.red(` ${failed} failed`) : '';
106
105
  message += skipped > 0 ? colors_1.cyan(` ${skipped} skipped`) : '';
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;AAEH,4DAAmC;AACnC,yCAAgD;AAEhD,wCAMoB;AAGpB,SAAS,WAAW,CAAC,KAAK;IACxB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,gBAAM,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,gBAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;IAClC,MAAM,IAAI,SAAS,CAAC;IACpB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,IAAI,KAAK,EAAE;QACT,MAAM,IAAI,KAAK,GAAG,aAAa,CAAC;QAChC,KAAK,GAAG,2BAAiB,CAAC,KAAK,EAAE,2BAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;SACtC;KACF;IACD,MAAM,IAAI,SAAS,CAAC;IACpB,OAAO,YAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,UAAU;IAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,MAAqB,YAAY;IAI/B,YAAmB,MAAc,EAAE,UAA2B,EAAE;QAA7C,WAAM,GAAN,MAAM,CAAQ;QAC/B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAChB;;;;eAIG;YACH,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;SACvC;aAAM;YACL;;;;;eAKG;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;SACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG,GAAG,iBAAO,CAAC,MAAM,CAAC,YAChC,IAAI,CAAC,IACP,KAAK,MAAM,KAAK,cAAc,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;YAE3C,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC9B,OAAO;aACR;YAED,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,cAAK,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAG,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAI,CAAC,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,KAAK,cAAc,CAAC,aAAG,EAAE,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AA1ED,+BA0EC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"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"}
@@ -22,36 +22,58 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
+ /// <reference types="node" />
25
26
  import BaseReporter from './base';
26
27
  import { Journey, Step } from '../dsl';
27
- import { NetworkInfo, StatusValue } from '../common_types';
28
+ import { NetworkInfo, NetworkConditions, TraceOutput, StatusValue, PerfMetrics, Params, Screenshot } from '../common_types';
28
29
  import { Protocol } from 'playwright-chromium/types/protocol';
29
- import { Metrics } from '../plugins';
30
- declare type OutputType = 'synthetics/metadata' | 'journey/register' | 'journey/start' | 'step/screenshot' | 'step/end' | 'journey/network_info' | 'journey/filmstrips' | 'journey/browserconsole' | 'journey/end';
30
+ import { PageMetrics } from '../plugins';
31
+ declare type OutputType = 'synthetics/metadata' | 'journey/register' | 'journey/start' | 'screenshot/block' | 'step/screenshot_ref' | 'step/screenshot' | 'step/metrics' | 'step/filmstrips' | 'step/end' | 'journey/network_info' | 'journey/browserconsole' | 'journey/end';
31
32
  declare type Payload = {
32
33
  source?: string;
33
34
  start?: number;
34
35
  end?: number;
35
36
  url?: string;
36
37
  status?: StatusValue | number;
37
- metrics?: Metrics;
38
- params?: Record<string, unknown>;
38
+ pagemetrics?: PageMetrics;
39
+ params?: Params;
39
40
  type?: OutputType;
40
41
  text?: string;
41
42
  index?: number;
43
+ network_conditions?: NetworkConditions;
42
44
  };
43
45
  declare type OutputFields = {
44
46
  type: OutputType;
47
+ _id?: string;
45
48
  journey?: Journey;
46
49
  timestamp?: number;
47
50
  url?: string;
48
- step?: Partial<Step>;
51
+ step?: Partial<Step> & {
52
+ duration?: {
53
+ us: number;
54
+ };
55
+ };
49
56
  error?: Error;
50
57
  root_fields?: Record<string, unknown>;
51
58
  payload?: Payload | NetworkInfo;
52
59
  blob?: string;
53
60
  blob_mime?: string;
54
61
  };
62
+ declare type ScreenshotBlob = {
63
+ blob: string;
64
+ id: string;
65
+ };
66
+ declare type ScreenshotReference = {
67
+ width: number;
68
+ height: number;
69
+ blocks: Array<{
70
+ hash: string;
71
+ top: number;
72
+ left: number;
73
+ width: number;
74
+ height: number;
75
+ }>;
76
+ };
55
77
  export declare function formatNetworkFields(network: NetworkInfo): {
56
78
  ecs: {
57
79
  url: string;
@@ -80,6 +102,7 @@ export declare function formatNetworkFields(network: NetworkInfo): {
80
102
  referrerPolicy: "unsafe-url" | "no-referrer-when-downgrade" | "no-referrer" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin";
81
103
  isLinkPreload?: boolean;
82
104
  trustTokenParams?: Protocol.Network.TrustTokenParams;
105
+ isSameSite?: boolean;
83
106
  };
84
107
  response: {
85
108
  body: {
@@ -131,9 +154,22 @@ export declare function formatNetworkFields(network: NetworkInfo): {
131
154
  };
132
155
  payload: Partial<NetworkInfo>;
133
156
  };
157
+ export declare function getScreenshotBlocks(screenshot: Buffer): Promise<{
158
+ blocks: ScreenshotBlob[];
159
+ reference: ScreenshotReference;
160
+ blob_mime: string;
161
+ }>;
162
+ /**
163
+ * Get all the screenshots from the cached screenshot location
164
+ * at the end of each journey and construct equally sized blocks out
165
+ * of the individual screenshot image.
166
+ */
167
+ export declare function gatherScreenshots(screenshotsPath: string, callback: (data: Screenshot) => Promise<void>): Promise<void>;
134
168
  export default class JSONReporter extends BaseReporter {
135
169
  _registerListeners(): void;
136
- writeJSON({ journey, type, timestamp, step, root_fields, error, payload, blob, blob_mime, url, }: OutputFields): void;
170
+ writeScreenshotBlocks(journey: Journey, screenshot: Screenshot): Promise<void>;
171
+ writeMetrics(journey: Journey, step: Step, type: string, events: Array<TraceOutput> | PerfMetrics): void;
172
+ writeJSON({ _id, journey, type, timestamp, step, root_fields, error, payload, blob, blob_mime, url, }: OutputFields): void;
137
173
  }
138
174
  export {};
139
175
  //# sourceMappingURL=json.d.ts.map