Mwalker has uploaded a new change for review. https://gerrit.wikimedia.org/r/149285
Change subject: Timing breakdowns for backend ...................................................................... Timing breakdowns for backend Change-Id: Ida912a659431bbd909634bc1d37bb845ecdf9985 --- M lib/threads/backend.js 1 file changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator refs/changes/85/149285/1 diff --git a/lib/threads/backend.js b/lib/threads/backend.js index 2a3fa3b..648f745 100644 --- a/lib/threads/backend.js +++ b/lib/threads/backend.js @@ -289,8 +289,9 @@ } function runBundler( jobDetails, metabookPath, bundleFile ) { - var child, killTimer; - var p = Promise.defer(); + var child, killTimer, + startTime = Date.now(), + p = Promise.defer(); jobDetails.updateBundling( null, 'Launching bundler', 0 ); redisClient.hset( config.redis.status_set_name, @@ -342,12 +343,22 @@ } if ( code !== 0 ) { + statsd.timing( + 'backend.bundler.time_to_failure', + ( Date.now() - startTime ) / 1000 + ); + if ( signal === 'SIGTERM' ) { p.reject( new BundlerError( 'Killed bundler, exceeded execution time limit' ) ); } else { p.reject( new BundlerError( 'Bundling process died with non zero code: ' + code ) ); } } else { + statsd.timing( + 'backend.bundler.time_to_success', + ( Date.now() - startTime ) / 1000 + ); + console.info( 'Bundle completed successfully!', { channel: 'backend.bundler', job: { id: jobDetails.collectionId, writer: jobDetails.writer } @@ -374,6 +385,7 @@ function runRenderer( jobDetails, bundleFile ) { var child, killTimer, + startTime = Date.now(), writer = jobDetails.writer; if ( !config.backend.writers[writer] ) { @@ -437,6 +449,11 @@ } if ( code !== 0 ) { + statsd.timing( + 'backend.writer.' + writer + '.time_to_failure', + ( Date.now() - startTime ) / 1000 + ); + if ( signal === 'SIGTERM' ) { p.reject( new BundlerError( 'Killed renderer, exceeded execution time limit' ) ); } else { @@ -445,6 +462,11 @@ } else { Promise.promisify( fs.stat )( renderFile ) .then( function( result ) { + statsd.timing( + 'backend.writer.' + writer + '.time_to_success', + ( Date.now() - startTime ) / 1000 + ); + console.info( 'Render completed successfully!', { channel: 'backend.renderer', job: { id: jobDetails.collectionId, writer: jobDetails.writer } @@ -452,6 +474,10 @@ p.resolve( [ renderFile, result.size ] ); }) .catch( function( err ) { + statsd.timing( + 'backend.writer.' + writer + '.time_to_failure', + ( Date.now() - startTime ) / 1000 + ); p.reject( new BackendError( 'Could not stat rendered output file. Render failed!' ) ); -- To view, visit https://gerrit.wikimedia.org/r/149285 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ida912a659431bbd909634bc1d37bb845ecdf9985 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator Gerrit-Branch: master Gerrit-Owner: Mwalker <mwal...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits