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

Reply via email to