@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.
- package/CHANGELOG.md +228 -0
- package/NOTICE.txt +250 -0
- package/README.md +2 -1
- package/dist/cli.js +80 -49
- package/dist/cli.js.map +1 -1
- package/dist/common_types.d.ts +77 -10
- package/dist/common_types.d.ts.map +1 -1
- package/dist/config.d.ts +2 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/expect.d.ts +177 -0
- package/dist/core/expect.d.ts.map +1 -0
- package/dist/core/expect.js +33 -0
- package/dist/core/expect.js.map +1 -0
- package/dist/core/gatherer.d.ts +4 -7
- package/dist/core/gatherer.d.ts.map +1 -1
- package/dist/core/gatherer.js +33 -9
- package/dist/core/gatherer.js.map +1 -1
- package/dist/core/index.d.ts +5 -5
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +0 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +2 -15
- package/dist/core/logger.js.map +1 -1
- package/dist/core/runner.d.ts +54 -45
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +173 -63
- package/dist/core/runner.js.map +1 -1
- package/dist/dsl/journey.d.ts +13 -4
- package/dist/dsl/journey.d.ts.map +1 -1
- package/dist/dsl/journey.js +40 -1
- package/dist/dsl/journey.js.map +1 -1
- package/dist/formatter/javascript.d.ts +73 -0
- package/dist/formatter/javascript.d.ts.map +1 -0
- package/dist/formatter/javascript.js +274 -0
- package/dist/formatter/javascript.js.map +1 -0
- package/dist/helpers.d.ts +33 -12
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +100 -46
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/parse_args.d.ts +5 -2
- package/dist/parse_args.d.ts.map +1 -1
- package/dist/parse_args.js +59 -16
- package/dist/parse_args.js.map +1 -1
- package/dist/plugins/browser-console.d.ts +5 -8
- package/dist/plugins/browser-console.d.ts.map +1 -1
- package/dist/plugins/browser-console.js +26 -7
- package/dist/plugins/browser-console.js.map +1 -1
- package/dist/plugins/network.d.ts +20 -20
- package/dist/plugins/network.d.ts.map +1 -1
- package/dist/plugins/network.js +110 -108
- package/dist/plugins/network.js.map +1 -1
- package/dist/plugins/performance.d.ts +5 -5
- package/dist/plugins/performance.d.ts.map +1 -1
- package/dist/plugins/performance.js +5 -5
- package/dist/plugins/performance.js.map +1 -1
- package/dist/plugins/plugin-manager.d.ts +11 -11
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +40 -24
- package/dist/plugins/plugin-manager.js.map +1 -1
- package/dist/plugins/tracing.d.ts +10 -25
- package/dist/plugins/tracing.d.ts.map +1 -1
- package/dist/plugins/tracing.js +40 -26
- package/dist/plugins/tracing.js.map +1 -1
- package/dist/reporters/base.d.ts +0 -1
- package/dist/reporters/base.d.ts.map +1 -1
- package/dist/reporters/base.js +22 -23
- package/dist/reporters/base.js.map +1 -1
- package/dist/reporters/json.d.ts +43 -7
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +181 -35
- package/dist/reporters/json.js.map +1 -1
- package/dist/sdk/lh-trace-processor.d.ts +304 -0
- package/dist/sdk/lh-trace-processor.d.ts.map +1 -0
- package/dist/sdk/lh-trace-processor.js +832 -0
- package/dist/sdk/lh-trace-processor.js.map +1 -0
- package/dist/sdk/trace-metrics.d.ts +61 -0
- package/dist/sdk/trace-metrics.d.ts.map +1 -0
- package/dist/sdk/trace-metrics.js +252 -0
- package/dist/sdk/trace-metrics.js.map +1 -0
- package/dist/sdk/trace-processor.d.ts +106 -0
- package/dist/sdk/trace-processor.d.ts.map +1 -0
- package/dist/sdk/trace-processor.js +74 -0
- package/dist/sdk/trace-processor.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1575
- package/package.json +24 -13
- package/src/cli.ts +68 -45
- package/src/common_types.ts +92 -10
- package/src/config.ts +2 -5
- package/src/core/expect.ts +187 -0
- package/src/core/gatherer.ts +44 -23
- package/src/core/index.ts +6 -6
- package/src/core/logger.ts +1 -12
- package/src/core/runner.ts +259 -112
- package/src/dsl/journey.ts +28 -6
- package/src/formatter/javascript.ts +330 -0
- package/src/helpers.ts +114 -24
- package/src/index.ts +7 -6
- package/src/parse_args.ts +97 -22
- package/src/plugins/browser-console.ts +30 -13
- package/src/plugins/network.ts +137 -144
- package/src/plugins/performance.ts +7 -7
- package/src/plugins/plugin-manager.ts +47 -36
- package/src/plugins/tracing.ts +43 -54
- package/src/reporters/base.ts +24 -23
- package/src/reporters/json.ts +251 -41
- package/src/sdk/lh-trace-processor.ts +1033 -0
- package/src/sdk/trace-metrics.ts +287 -0
- package/src/sdk/trace-processor.ts +147 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/plugins/network.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;
|
|
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 {
|
|
26
|
-
export interface
|
|
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
|
|
43
|
-
constructor(
|
|
42
|
+
private driver;
|
|
43
|
+
constructor(driver: Driver);
|
|
44
44
|
start(): Promise<void>;
|
|
45
45
|
stop(): Promise<void>;
|
|
46
|
-
getMetrics(): Promise<
|
|
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,
|
|
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(
|
|
45
|
-
this.
|
|
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,
|
|
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 {
|
|
26
|
-
import { BrowserConsole,
|
|
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<
|
|
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
|
|
41
|
+
get(type: PluginType): Plugin;
|
|
42
42
|
onStep(step: Step): void;
|
|
43
|
-
output():
|
|
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,
|
|
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
|
-
|
|
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
|
|
47
|
-
instance.start();
|
|
50
|
+
instance = new _1.PerformanceManager(this.driver);
|
|
48
51
|
break;
|
|
49
52
|
case 'browserconsole':
|
|
50
|
-
instance = new _1.BrowserConsole(this.driver
|
|
51
|
-
instance.start();
|
|
53
|
+
instance = new _1.BrowserConsole(this.driver);
|
|
52
54
|
break;
|
|
53
55
|
}
|
|
54
|
-
this.plugins.set(
|
|
56
|
+
instance && this.plugins.set(type, instance);
|
|
55
57
|
return instance;
|
|
56
58
|
}
|
|
57
|
-
|
|
58
|
-
|
|
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(
|
|
62
|
-
this.get(
|
|
85
|
+
this.get('browserconsole')._currentStep = step;
|
|
86
|
+
this.get('network')._currentStep = step;
|
|
63
87
|
}
|
|
64
|
-
|
|
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,
|
|
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 {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
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
|
-
|
|
53
|
-
|
|
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,
|
|
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"}
|
package/dist/plugins/tracing.js
CHANGED
|
@@ -24,48 +24,53 @@
|
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.Tracing =
|
|
28
|
-
const
|
|
29
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
},
|
|
66
|
+
categories: includedCategories.join(','),
|
|
67
|
+
options: 'sampling-frequency=10000', // 1000 is default
|
|
64
68
|
});
|
|
65
69
|
}
|
|
66
|
-
async stop(
|
|
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
|
-
|
|
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;;;
|
|
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"}
|
package/dist/reporters/base.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/reporters/base.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/reporters/base.ts"],"names":[],"mappings":"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"}
|
package/dist/reporters/json.d.ts
CHANGED
|
@@ -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 {
|
|
30
|
-
declare type OutputType = 'synthetics/metadata' | 'journey/register' | 'journey/start' | 'step/screenshot' | 'step/
|
|
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
|
-
|
|
38
|
-
params?:
|
|
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
|
-
|
|
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
|