jenkins-bot has submitted this change and it was merged. Change subject: Add properties that will be logged with each EL request ......................................................................
Add properties that will be logged with each EL request Bug: T131315 Change-Id: I16f5f8170174200bb20c6bcc2835efd136d752ff --- M Popups.hooks.php M resources/ext.popups.renderer.article.js M resources/ext.popups.renderer/desktopRenderer.js M resources/ext.popups.schemaPopups.js 4 files changed, 58 insertions(+), 5 deletions(-) Approvals: Jdlrobson: Looks good to me, approved jenkins-bot: Verified diff --git a/Popups.hooks.php b/Popups.hooks.php index e868af7..7db5a8f 100644 --- a/Popups.hooks.php +++ b/Popups.hooks.php @@ -75,6 +75,7 @@ $schemaPopups += [ 'dependencies' => [ 'schema.Popups', + 'mediawiki.user' ], 'scripts' => [ 'resources/ext.popups.schemaPopups.js', diff --git a/resources/ext.popups.renderer.article.js b/resources/ext.popups.renderer.article.js index ff24b94..9aaef01 100644 --- a/resources/ext.popups.renderer.article.js +++ b/resources/ext.popups.renderer.article.js @@ -149,6 +149,7 @@ mw.popups.render.cache[ href ].settings = { title: page.title, + namespace: page.ns, tall: ( tall === undefined ) ? false : tall, thumbnail: ( thumbnail === undefined ) ? false : thumbnail }; diff --git a/resources/ext.popups.renderer/desktopRenderer.js b/resources/ext.popups.renderer/desktopRenderer.js index 2d47012..a62c399 100644 --- a/resources/ext.popups.renderer/desktopRenderer.js +++ b/resources/ext.popups.renderer/desktopRenderer.js @@ -187,7 +187,7 @@ // Event logging mw.popups.logData = { pageTitleHover: cache.settings.title, - pageTitleSource: mw.config.get( 'wgTitle' ), + namespaceIdHover: cache.settings.namespace, popupEnabled: mw.popups.enabled, time: mw.now() }; diff --git a/resources/ext.popups.schemaPopups.js b/resources/ext.popups.schemaPopups.js index 9deb2fb..60b0cff 100644 --- a/resources/ext.popups.schemaPopups.js +++ b/resources/ext.popups.schemaPopups.js @@ -1,15 +1,66 @@ ( function ( $, mw ) { + var schemaPopups, + defaults; + /** - * Log the popup event as defined in the schema + * Return the sampling rate for the Schema:Popups * - * https://meta.wikimedia.org/wiki/Schema:Popups + * The sampling rate is always 0 if the browser doesn't support + * `navigator.sendBeacon`. + * + * @return {number} */ - var schemaPopups = new mw.eventLog.Schema( + function getSamplingRate() { + return $.isFunction( navigator.sendBeacon ) ? + mw.config.get( 'wgPopupsSchemaPopupsSamplingRate', 0 ) : 0; + } + + /** + * Return edit count bucket based on the number of edits + * + * @return {string} + */ + function getEditCountBucket( editCount ) { + var bucket; + + if ( editCount === 0 ) { + bucket = '0'; + } else if ( editCount >= 1 && editCount <= 4 ) { + bucket = '1-4'; + } else if ( editCount >= 5 && editCount <= 99 ) { + bucket = '5-99'; + } else if ( editCount >= 100 && editCount <= 999 ) { + bucket = '100-999'; + } else if ( editCount >= 1000 ) { + bucket = '1000+'; + } + + return bucket + ' edits'; + } + + // Data that will be logged with each EL request + defaults = { + pageTitleSource: mw.config.get( 'wgPageName' ), + namespaceIdSource: mw.config.get( 'wgNamespaceNumber' ), + pageIdSource: mw.config.get( 'wgArticleId' ), + isAnon: mw.user.isAnon() + }; + + // Include edit count bucket if the user is logged in. + if ( !mw.user.isAnon() ) { + defaults.editCountBucket = getEditCountBucket( mw.config.get( 'wgUserEditCount' ) ); + } + + // Log the popup event as defined in the schema + // https://meta.wikimedia.org/wiki/Schema:Popups + schemaPopups = new mw.eventLog.Schema( 'Popups', - mw.config.get( 'wgPopupsSchemaPopupsSamplingRate', 0 ) + getSamplingRate(), + defaults ); mw.trackSubscribe( 'ext.popups.schemaPopups', function ( topic, data ) { schemaPopups.log( data ); } ); + } )( jQuery, mediaWiki ); -- To view, visit https://gerrit.wikimedia.org/r/289065 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I16f5f8170174200bb20c6bcc2835efd136d752ff Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/extensions/Popups Gerrit-Branch: master Gerrit-Owner: Bmansurov <bmansu...@wikimedia.org> Gerrit-Reviewer: Bmansurov <bmansu...@wikimedia.org> Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits