In analyzing Add Link / Add Image funnel data, we talked about how the load times for Special:Homepage, the article, and loading VisualEditor and its plugins (AddLink/AddImage plus data) might affect user actions.
We already instrument the following:
- server-side render time (although this does not tell the full story, because it doesn't include the start of the request nor the final delivery of the page, it just says how long it took SpecialHomepage::execute to run)
- client-side time-to-interactive for Special:Homepage's suggested edits module
- time to show guidance for unstructured tasks
- time to show editor for structured tasks
We could think about bucketing users based on the the times for these metrics, and including that in analytics data.
So for example, we might have server-side render time buckets like:
- under_200ms
- 200ms_500ms
- 500ms_1000ms
- over_1000ms
if the user's server-side render time was 800ms, then for events logged on Special:Homepage:
{ "$schema": "/analytics/legacy/homepagemodule/1.3.0", "client_dt": "2022-02-11T08:47:22.972Z", "event": { "performance_bucket": "500ms_1000ms", "action": "se-task-impression", "action_data": "taskTypes=copyedit,references;taskCount=60694;topics=architecture,earth-and-environment,europe;newcomerTaskToken=u6spfr8h854c587ipkpg2f1mva5geetn", "homepage_pageview_token": "eiuk7i0i3ejthefek0ejussftmrk3ib2", "user_variant": "control" } // etc }
That way, when analyzing funnel data, we might be able to better understand if users are dropping off at a certain point due to long load times.
@nettrom_WMF would be great to hear your thoughts on whether this is useful to include before we do anything.