Catrope has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/381148 )
Change subject: Move RCFilters performance logging to WikimediaEvents and also log performance for old UI ...................................................................... Move RCFilters performance logging to WikimediaEvents and also log performance for old UI The old UI doesn't have a nice hook for when it's done loading like the new one does, but we can use RL module loads as a proxy. In my local testing this works quite well. Change-Id: Ib300af5caad5c6e0ca13554c20a2e4311743e176 --- M modules/ext.wikimediaEvents.recentChangesClicks.js 1 file changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents refs/changes/48/381148/1 diff --git a/modules/ext.wikimediaEvents.recentChangesClicks.js b/modules/ext.wikimediaEvents.recentChangesClicks.js index 9e35caf..3be5b89 100644 --- a/modules/ext.wikimediaEvents.recentChangesClicks.js +++ b/modules/ext.wikimediaEvents.recentChangesClicks.js @@ -6,7 +6,11 @@ */ ( function ( $, mw ) { $( function () { - var uri = new mw.Uri(), + var isNewUI, + metricName, + rlModules, + uri = new mw.Uri(), + specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ), linkTypes = { '.mw-changeslist-diff': 'diff', '.mw-changeslist-history': 'history', @@ -42,7 +46,7 @@ return 'page'; } - if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Recentchanges' ) { + if ( specialPage === 'Recentchanges' ) { $( '.mw-changeslist' ).on( 'click', 'a[href]', function ( e ) { var selector, target, type = 'unknown', @@ -114,5 +118,34 @@ history.replaceState( null, document.title, uri ); } + // Log performance data + if ( window.performance && window.performance.now ) { + // HACK: if the rcfilters module is in the 'registered' state, it's not going to be loaded + // and we're in the old UI. If it's in the 'loading', 'loaded' or 'ready' states, + // we're in the new UI. + isNewUI = mw.loader.getState( 'mediawiki.rcfilters.filters.ui' ) !== 'registered'; + metricName = isNewUI ? 'structuredChangeFilters' : 'changesListSpecialPage'; + mw.track( + 'timing.MediaWiki.timing.' + metricName + '.backendResponse.' + specialPage, + mw.config.get( 'wgBackendResponseTime' ) + ); + // HACK: to measure 'ready' time, look at when key modules have been loaded + rlModules = [ + 'mediawiki.rcfilters.filters.ui', + 'mediawiki.special.recentchanges', + 'mediawiki.special.watchlist', + 'jquery.makeCollapsible' + ].filter( function ( module ) { + // Only request at modules that are already going to be loaded + return mw.loader.getState( module ) !== 'registered'; + } ); + mw.loader.using( rlModules ).done( function () { + mw.track( + 'timing.MediaWiki.timing.' + metricName + '.ready.' + specialPage, + window.performance.now() + ); + } ); + } + } ); }( jQuery, mediaWiki ) ); -- To view, visit https://gerrit.wikimedia.org/r/381148 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib300af5caad5c6e0ca13554c20a2e4311743e176 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikimediaEvents Gerrit-Branch: master Gerrit-Owner: Catrope <r...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits