title: analytics/mediawiki/web_ui_reading_depth description: > Measures reading depth. Events only logged for UAs that support the performance `getEntriesByType` API [1] and `now` API [2] [1] https://caniuse.com/mdn-api_performance_getentriesbytype [2] https://caniuse.com/high-resolution-time $id: /analytics/mediawiki/web_ui_reading_depth/1.0.0 $schema: https://json-schema.org/draft-07/schema# type: object allOf: - $ref: /fragment/analytics/common/2.0.0# - $ref: /fragment/analytics/web_identifiers/1.0.0# - $ref: /fragment/mediawiki/page/common/2.0.0# required: - is_anon - skin - visibility_listeners_time - action - page_length - session_token - access_method properties: is_anon: type: boolean description: Is the user viewing anonymously? skin: type: string description: Skin being used by reader. total_length: type: integer description: > Total length of time (in milliseconds) from the `visibility_listeners_time` to the point at which the page is unloaded. Note that this time may include time that the user has the page hidden. If interested in the page's total visible time, see the `visible_length` field. dom_interactive_time: type: integer description: > Total length of time (in milliseconds) till DOM interactive event which is the point at which the browser has finished parsing the HTML and DOM construction is complete [1]. Note that the user may or may not be able to see any pixels on the screen at this point in time. Note that this will only be present for UAs that support the `PerformanceNavigationTiming` API [2]. [1] . [2] . first_paint_time: type: integer description: > Total length of time (in milliseconds) till first paint which is the point at which the first pixels get displayed to the user. Note that although at least part of the page is visible to the user at this point in time, the user may or may not be able to see the entire page. Note that this will only be present for UAs that support the `PerformancePaintTiming` API [1]. [1] https://caniuse.com/mdn-api_performancepainttiming visibility_listeners_time: type: integer description: > Total length of time (in milliseconds) till visibility event listeners were added to the document which enable the tracking of the page's visibility as defined by the `visibilitychange` event [1][2]. This point in time is also used as the starting point in the calculation of the `total_length` and `visible_length` fields. [1] Total length of time (in milliseconds) from the `visibility_listeners_time` to the point at which the page was unloaded excluding the total time that the document was "hidden" as defined by the Page Visibility API [1]. [1] https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API action: type: string description: The `pageLoaded event happens once per page view, near the beginning. `pageUnloaded` is sent upon leaving the page (if caught). enum: - pageLoaded - pageUnloaded page_length: type: integer description: Total length of page text. session_token: type: string description: Session token that survives across pages (mw.user.sessionId()), but not browser restarts, used in deterministic user bucketing default_sample: type: boolean description: Default sample group. Set when schema has been initiated by the ReadingDepth test. access_method: type: string description: The method by which the user is accessing the page (i.e. desktop or mobile) examples: - $schema: $ref: '#/$id' meta: stream: mediawiki.web_ui_reading_depth_example dt: '2021-11-15T18:10:08.108Z' is_anon: true skin: minerva visibility_listeners_time: 326 action: pageUnloaded page_length: 14804 session_token: 0560fbfbf12184203f65 access_method: desktop