Page MenuHomePhabricator

[L] SearchPreview Instrumentation - Define a reusable logic to trigger Event
Closed, ResolvedPublic

Description

As a developer I would like to have a simple way to trigger an event, so that all the data requires is set just once and I am able to avoid duplication.

AC:

  • Create a new action in the store to handle Event
  • Make sure each event includes all data defined in the schema (see T321069)
  • Make sure the action logs to the correct stream & schema (likely 'mediawiki.searchpreview' & '/analytics/mediawiki/searchpreview/1.0.0')

Below is a rough example of what said action will end up doing & what data it will have to include.
This should probably be abstracted a bit more.

function log( action, position ) {
    mw.loader.using( [ 'ext.eventLogging', 'ext.wikimediaEvents' ] ).then( function () {
        mw.eventLog.submit(
            'mediawiki.searchpreview',
            {
                $schema: '/analytics/mediawiki/searchpreview/1.0.0',
                action: action,
                result_display_position: position,
                wiki_id: mw.config.get( 'wgDBname' ),
                platform: mw.config.get( 'skin' ) === 'minerva' ? 'mobile' : 'desktop',
                session_id: mw.storage.get( 'wmE-sS--sessionId' )
            }
        );
    } );
}

Event Timeline

MarkTraceur renamed this task from SearchPreview Instrumentation - Define a reusable logic to trigger Event to [L] SearchPreview Instrumentation - Define a reusable logic to trigger Event.Oct 19 2022, 5:50 PM

Change 850546 had a related patch set uploaded (by Vadim Kovalenko; author: Vadim Kovalenko):

[mediawiki/extensions/SearchVue@master] Implemented basic logic for event logging instrumentation (T321079).

https://gerrit.wikimedia.org/r/850546

Change 850546 merged by jenkins-bot:

[mediawiki/extensions/SearchVue@master] Implemented basic logic for event logging instrumentation (T321079).

https://gerrit.wikimedia.org/r/850546