1616 */
1717'use strict' ;
1818
19+ const log = require ( '../lib/log.js' ) ;
20+
1921class Driver {
2022
2123 static loadPage ( driver , options ) {
@@ -32,6 +34,7 @@ class Driver {
3234 }
3335
3436 static setupDriver ( driver , gatherers , options ) {
37+ log . log ( 'status' , 'Initializing…' ) ;
3538 return new Promise ( ( resolve , reject ) => {
3639 // Enable emulation.
3740 if ( options . flags . mobile ) {
@@ -82,10 +85,17 @@ class Driver {
8285 const driver = options . driver ;
8386 const config = options . config ;
8487 const gatherers = config . gatherers ;
88+ const gatherernames = gatherers . map ( g => g . name ) . join ( ', ' ) ;
8589 let pass = Promise . resolve ( ) ;
8690
8791 if ( config . loadPage ) {
88- pass = pass . then ( _ => this . loadPage ( driver , options ) ) ;
92+ pass = pass . then ( _ => {
93+ const status = 'Loading page & waiting for onload' ;
94+ log . log ( 'status' , status , gatherernames ) ;
95+ return this . loadPage ( driver , options ) . then ( _ => {
96+ log . log ( 'statusEnd' , status ) ;
97+ } ) ;
98+ } ) ;
8999 }
90100
91101 return gatherers . reduce ( ( chain , gatherer ) => {
@@ -101,20 +111,36 @@ class Driver {
101111 let pass = Promise . resolve ( ) ;
102112
103113 if ( config . trace ) {
104- pass = pass . then ( _ => driver . endTrace ( ) . then ( traceContents => {
105- loadData . traceContents = traceContents ;
106- } ) ) ;
114+ pass = pass . then ( _ => {
115+ log . log ( 'status' , 'Gathering: trace' ) ;
116+ driver . endTrace ( ) . then ( traceContents => {
117+ loadData . traceContents = traceContents ;
118+ log . log ( 'statusEnd' , 'Gathering: trace' ) ;
119+ } ) ;
120+ } ) ;
107121 }
108122
109123 if ( config . network ) {
110- pass = pass . then ( _ => driver . endNetworkCollect ( ) . then ( networkRecords => {
111- loadData . networkRecords = networkRecords ;
112- } ) ) ;
124+ pass = pass . then ( _ => {
125+ const status = 'Gathering: network records' ;
126+ log . log ( 'status' , status ) ;
127+ return driver . endNetworkCollect ( ) . then ( networkRecords => {
128+ loadData . networkRecords = networkRecords ;
129+ log . log ( 'statusEnd' , status ) ;
130+ } ) ;
131+ } ) ;
113132 }
114133
115134 return gatherers
116135 . reduce ( ( chain , gatherer ) => {
117- return chain . then ( _ => gatherer . afterPass ( options , loadData ) ) ;
136+ return chain . then ( _ => {
137+ const status = `Gathering: ${ gatherer . name } ` ;
138+ log . log ( 'status' , status ) ;
139+ return Promise . resolve ( gatherer . afterPass ( options , loadData ) ) . then ( ret => {
140+ log . log ( 'statusEnd' , status ) ;
141+ return ret ;
142+ } ) ;
143+ } ) ;
118144 } , pass )
119145 . then ( _ => loadData ) ;
120146 }
@@ -171,7 +197,13 @@ class Driver {
171197 } )
172198
173199 // Reload the page to remove any side-effects of Lighthouse (like disabling JavaScript).
174- . then ( _ => this . loadPage ( driver , options ) )
200+ . then ( _ => {
201+ const status = 'Reloading page to reset state' ;
202+ log . log ( 'status' , status ) ;
203+ return this . loadPage ( driver , options ) . then ( _ => {
204+ log . log ( 'statusEnd' , status ) ;
205+ } ) ;
206+ } )
175207
176208 // Finish and teardown.
177209 . then ( _ => driver . disconnect ( ) )
0 commit comments