Page MenuHomePhabricator

Mobile editors do not log timings for any Edit events
Closed, ResolvedPublic

Description

Neither the mobile visual editor nor the mobile wikitext editor logs timing values for any of its events. The mobile editors do not log loaded events or, for the most part, abort events, so the others where the timing could be relatively easily added are:

  • init
  • ready
  • saveFailure
  • saveIntent
  • saveAttempt
  • saveSuccess

Event Timeline

Jdlrobson edited projects, added Web-Team-Backlog (Tracking); removed Web-Team-Backlog.

Let me know if we can help with anything.

Changing the parent tasks here since this doesn't block our immediate metrics work, since event timestamps are precise enough to calculate overall session duration.

I'm now changing the parent tasks back—as discussed in an Editing team meeting today, the lack of this data means we can't produce any metrics about the load performance of mobile editors, which will be crucial for our annual plan goal.

Change 476071 had a related patch set uploaded (by DLynch; owner: DLynch):
[mediawiki/extensions/MobileFrontend@master] Include timing information for EditAttemptStep

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

Change 476071 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] Include timing information for EditAttemptStep

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

@Neil_P._Quinn_WMF, does this task need to go through QA review?

Almost the only QA possible for this one (besides it not actually breaking things) would be Neil saying whether the data being collected is correct, I think?

nshahquinn-wmf moved this task from Tracking to Doing on the Product-Analytics board.

@DLynch yeah, I talked to @Ryasmeen about this last week. I'm going to help her get set up to query the event data herself (T211949), but since it will take some time for her to get access, I'll check the data in the mean time.

Everything looks good!

The results for the ready, saveIntent, saveAttempt, and abort events all look good. There are no results for loaded events because those are currently not logged (T206014). Timings are currently not logged for saveSuccess or saveFailure in any editor.

Ready

select
    percentile_approx(event.ready_timing, 0.5) as median_ready_t,
    count(event.ready_timing) / count(*) as nonnull_ready_t_prop
from event_sanitized.editattemptstep
where
    event.platform = "phone" and
    event.action = "ready" and
    year = 2019 and month = 1


  	median_ready_t 	        nonnull_ready_t_prop
1	714.7178125365697	0.9999889966604865

saveIntent

select
    percentile_approx(event.save_intent_timing, 0.5) as median_save_intent_t,
    count(event.save_intent_timing) / count(*) as nonnull_save_intent_t_prop
from event_sanitized.editattemptstep
where
    event.platform = "phone" and
    event.action = "saveIntent" and
    year = 2019 and month = 1

  	median_save_intent_t 	nonnull_save_intent_t_prop
1	51605.86	        0.9999716312056738

saveAttempt

select
    percentile_approx(event.save_attempt_timing, 0.5) as median_save_attempt_t,
    count(event.save_attempt_timing) / count(*) as nonnull_save_attempt_t_prop
from event_sanitized.editattemptstep
where
    event.platform = "phone" and
    event.action = "saveAttempt" and
    year = 2019 and month = 1


  	median_save_attempt_t 	nonnull_save_attempt_t_prop
1	5308.5	                0.999962161344029

Abort

select
    percentile_approx(event.abort_timing, 0.5) as median_abort_t,
    count(event.abort_timing) / count(*) as nonnull_abort_t_prop
from event_sanitized.editattemptstep
where
    event.platform = "phone" and
    event.action = "abort" and
    year = 2019 and month = 1


  	median_abort_t 	        nonnull_abort_t_prop
1	2647.5199871457917	0.9999838553438811

Loaded

select
    percentile_approx(event.loaded_timing, 0.5) as median_loaded_t,
    count(event.loaded_timing) / count(*) as nonnull_loaded_t_prop
from event_sanitized.editattemptstep
where
    event.platform = "phone" and
    event.action = "loaded" and
    year = 2019 and month = 1


  	median_loaded_t 	nonnull_loaded_t_prop
1	NULL	                NULL