Page MenuHomePhabricator

[SPIKE] Determine where new wikitext editor instrumentation should be stored
Closed, ResolvedPublic

Description

This task is about deciding where and how (read: in what schema) the instrumentation required to provide the logging specified in T263505 should be stored.

Decision to be made

  • Where and how (read: in what schema) should the instrumentation required to provide the event logging specified in T263505 be stored?

Done

  • Answers to the question(s) listed in the === Decision(s) to be made section above are documented in this task's description.

Outcome

We will send an event to the VisualEditorFeatureUse schema adjacent to the existing server-side logging in WikiEditor. It will be in the form:

event.feature = 'mwSave'
event.action = 'source-has-js'.

Event Timeline

@MNeisler So, I think this is going to be extra information that accompanies the saveSuccess event in EditAttemptStep. However, I see a few different ways of doing it:

  1. Add a new column to EditAttemptStep (has_js?) which will only be used when saving from WikiEditor for saveSuccess.
  2. Send a VisualEditorFeatureUse event (mwSave;hasJS?) alongside the saveSuccess. Advantage: no schema changes needed.
  3. Some other logging -- statsd to store a count?

The first two would store whatever location information is already logged by Eventlogging automatically, and so are presumably preferred. I lean towards the VEFU method because it can be done without any schema modifications, but I can be argued out of it. Thoughts?

Thanks @DLynch. I agree that Option #2 (Sending a VEFU event) seems like the best method. In addition to not requiring any schema modifications, I think that VEFU is a better fit for this type of event and the analysis will still be pretty straightforward (I'll just need to do a join to EditAttemptStep on session id)

To confirm, we should only see this event logged for WikiEditor events that are saved (editor_interface = 'wikitext' AND event.action = 'saveSuccess' ) not VisualEditor events, correct?

Here's a proposed feature and action name for the event based on VEFU naming conventions. I'm open to other naming suggestions but I think it would be useful to clarify in the event name that this will only be sent for WikiEditor events.

event.feature = 'mwSave'
event.action = 'source-has-js'.

MNeisler triaged this task as Medium priority.Apr 27 2021, 4:34 PM

event.feature = 'mwSave'
event.action = 'source-has-js'.

Those sound reasonable to me.

event.feature = 'mwSave'
event.action = 'source-has-js'.

Those sound reasonable to me.

@DLynch + @MNeisler: I'm taking the above as signal that this ticket can be resolved.

Note: I've noted the decision y'all came to here in T263505#7040466.