mediawiki-extensions-Cite/modules/ext.cite.tracking.js
Adam Wight f6b5615e4b Stop sampling when Reference Previews is enabled
There are so few users with this configuration that we need to stop
sampling in order to get data.  Sampling is still in effect for
"baseline" users with the feature disabled.

We use separate schemas to simplify analytics on the two populations.

Bug: T214493
Change-Id: I16e4ed236e50e1e246ff28ff0dba3e52e4b56caf
2019-10-24 22:23:18 +02:00

46 lines
1.6 KiB
JavaScript

/**
* @file Temporary tracking to evaluate the impact of Reference Previews on users' interaction with references.
*
* The baseline metrics are for a sample of users who don't have ReferencePreviews enabled.
*
* Users with the feature enabled are not sampled, and events are logged using the ReferencePreviewsCite schema.
*
* @see https://phabricator.wikimedia.org/T214493
* @see https://phabricator.wikimedia.org/T231529
* @see https://meta.wikimedia.org/wiki/Schema:ReferencePreviewsBaseline
* @see https://meta.wikimedia.org/wiki/Schema:ReferencePreviewsCite
*/
( function () {
'use strict';
$( function () {
var isReferencePreviewsEnabled = mw.config.get( 'wgPopupsReferencePreviews', false ),
loggingTopic = isReferencePreviewsEnabled ?
'event.ReferencePreviewsCite' :
'event.ReferencePreviewsBaseline',
samplingRate = isReferencePreviewsEnabled ?
1 :
1000,
isSampling = navigator.sendBeacon && mw.eventLog.eventInSample( samplingRate );
if ( isSampling ) {
// eslint-disable-next-line no-jquery/no-global-selector
$( '#mw-content-text' ).on(
'click',
// Footnote links, references block in VisualEditor, and reference content links.
'.reference a[ href*="#" ], .mw-reference-text a, .reference-text a',
function () {
var isInReferenceBlock = $( this ).parents( '.references' ).length > 0;
mw.track( loggingTopic, {
action: ( isInReferenceBlock ?
'clickedReferenceContentLink' :
'clickedFootnote' )
} );
}
);
mw.track( loggingTopic, { action: 'pageview' } );
}
} );
}() );