EBernhardson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/248885
Change subject: Revert "Refactor search.js to only load deps for users in test"
......................................................................
Revert "Refactor search.js to only load deps for users in test"
This reverts commit a6007a21fc9f6d6a3224c00dbcc241657516752b.
Change-Id: I4ee2c6688117cb52f6aace5f23656c890dbb834c
---
M WikimediaEvents.php
M modules/ext.wikimediaEvents.search.js
2 files changed, 42 insertions(+), 46 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents
refs/changes/85/248885/1
diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index fd4b338..608016a 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -113,6 +113,8 @@
'dependencies' => array(
'mediawiki.user', // needed by search.js,
searchSuggest.js
'mediawiki.Uri', // needed by searchSatisfaction.js
+ 'schema.Search', // needed by search.js
+ 'ext.eventLogging', // needed by search.js
),
'localBasePath' => __DIR__ . '/modules',
'remoteExtPath' => 'WikimediaEvents/modules',
diff --git a/modules/ext.wikimediaEvents.search.js
b/modules/ext.wikimediaEvents.search.js
index 0edd61b..6062562 100644
--- a/modules/ext.wikimediaEvents.search.js
+++ b/modules/ext.wikimediaEvents.search.js
@@ -2,57 +2,51 @@
( function ( $ ) {
'use strict';
- var defaults, depsPromise, sessionStartTime,
- getRandomToken = function () {
- return mw.user.generateRandomSessionId() + ( new Date()
).getTime().toString();
- },
- oneIn = function ( populationSize ) {
- var rand = parseInt(
mw.user.generateRandomSessionId().slice( 0, 13 ), 16 );
- return rand % populationSize === 0;
- },
- isLoggingEnabled = mw.config.get(
'wgCirrusSearchEnableSearchLogging' );
+ var isLoggingEnabled = mw.config.get(
'wgCirrusSearchEnableSearchLogging' ),
+ // For 1 in a 1000 users the metadata about interaction
+ // with the search form (absent search terms) is event logged.
+ // See https://meta.wikimedia.org/wiki/Schema:Search
+ isSampled = Math.random() < 1 / 1000,
+ defaults,
+ sessionStartTime;
- // For 1 in a 1000 users the metadata about interaction
- // with the search form (absent search terms) is event logged.
- // See https://meta.wikimedia.org/wiki/Schema:Search
- if ( !isLoggingEnabled || !oneIn( 1000 ) ) {
- return;
+ /**
+ * Generate a random token
+ * @return {String}
+ */
+ function getRandomToken() {
+ return mw.user.generateRandomSessionId() + ( new Date()
).getTime().toString();
}
- depsPromise = mw.loader.using( [
- 'schema.Search',
- 'ext.eventLogging'
- ] );
-
- defaults = {
- platform: 'desktop',
- userSessionToken: getRandomToken(),
- searchSessionToken: getRandomToken()
- };
-
- mw.trackSubscribe( 'mediawiki.searchSuggest', function ( topic, data ) {
- var loggingData = {
- action: data.action
+ if ( isLoggingEnabled && isSampled ) {
+ defaults = {
+ platform: 'desktop',
+ userSessionToken: getRandomToken(),
+ searchSessionToken: getRandomToken()
};
- if ( data.action === 'session-start' ) {
- // update session token if it's a new search
- defaults.searchSessionToken = getRandomToken();
- sessionStartTime = this.timeStamp;
- } else if ( data.action === 'impression-results' ) {
- loggingData.numberOfResults = data.numberOfResults;
- loggingData.resultSetType = data.resultSetType;
- loggingData.timeToDisplayResults = Math.round(
this.timeStamp - sessionStartTime );
- } else if ( data.action === 'click-result' ) {
- loggingData.clickIndex = data.clickIndex;
- loggingData.numberOfResults = data.numberOfResults;
- } else if ( data.action === 'submit-form' ) {
- loggingData.numberOfResults = data.numberOfResults;
- }
- loggingData.timeOffsetSinceStart = Math.round( this.timeStamp -
sessionStartTime ) ;
- $.extend( loggingData, defaults );
- depsPromise.then( function () {
+ mw.trackSubscribe( 'mediawiki.searchSuggest', function ( topic,
data ) {
+ var loggingData = {
+ action: data.action
+ };
+
+ if ( data.action === 'session-start' ) {
+ // update session token if it's a new search
+ defaults.searchSessionToken = getRandomToken();
+ sessionStartTime = this.timeStamp;
+ } else if ( data.action === 'impression-results' ) {
+ loggingData.numberOfResults =
data.numberOfResults;
+ loggingData.resultSetType = data.resultSetType;
+ loggingData.timeToDisplayResults = Math.round(
this.timeStamp - sessionStartTime );
+ } else if ( data.action === 'click-result' ) {
+ loggingData.clickIndex = data.clickIndex;
+ loggingData.numberOfResults =
data.numberOfResults;
+ } else if ( data.action === 'submit-form' ) {
+ loggingData.numberOfResults =
data.numberOfResults;
+ }
+ loggingData.timeOffsetSinceStart = Math.round(
this.timeStamp - sessionStartTime ) ;
+ $.extend( loggingData, defaults );
mw.eventLog.logEvent( 'Search', loggingData );
} );
- } );
+ }
}( jQuery ) );
--
To view, visit https://gerrit.wikimedia.org/r/248885
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4ee2c6688117cb52f6aace5f23656c890dbb834c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: wmf/1.27.0-wmf.3
Gerrit-Owner: EBernhardson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits