fune/mobile/android/android-components/components/browser/engine-gecko/docs/metrics.md
2019-12-18 16:46:05 +01:00

8.7 KiB

Metrics

This document enumerates the metrics collected by this project. This project may depend on other projects which also collect metrics. This means you might have to go searching through the dependency tree to get a full picture of everything collected by this project.

Pings

metrics

This is a built-in ping that is assembled out of the box by the Glean SDK. See the Glean SDK documentation for the metrics ping. The following metrics are added to the ping:

Name Type Description Data reviews Extras Expiration
geckoview.page_load_time timing_distribution The time taken to load a page. This includes all static contents, no dynamic content. Loading of about: pages is not counted. 1 never
geckoview.startup_runtime timing_distribution The time taken to initialize GeckoRuntime. 1 never
gfx.checkerboard.duration timing_distribution The duration of a checkerboard event. Checkerboarding is when painting has not kept up with asynchronous panning and zooming so the compositor has to display a "checkerboard pattern" (or in practice, the background color) rather than the actual page content. 1 never
gfx.checkerboard.peak_pixel_count custom_distribution The peak number of CSS pixels that checkerboarded during a checkerboard event. The minimum value of the largest histogram bucket is the size of a 4k display with maximum APZ zooming. 1 never
gfx.checkerboard.potential_duration timing_distribution The total amount of time that we could reasonably be checkerboarding. This is the union of two possibly-intersecting sets of time periods: The first set is that in which checkerboarding was actually happening, since by definition it could potentially be happening. The second set is that in which the APZC is actively transforming content in the compositor, since it could potentially transform it so as to display checkerboarding to the user. Combined with other information, this allows us to meaningfully say how frequently users actually enncounters checkerboarding. 1 never
gfx.checkerboard.severity custom_distribution An opaque measurement of the severity of a checkerboard event. This doesn't have units, it's just useful for comparing two checkerboard events to see which one is worse, for some implementation-specific definition of "worse". The larger the value, the worse the checkerboarding. 1 never
gfx.composite_time timing_distribution The time taken to composite a frame. On non-webrender this is the time taken in CompositorBridgeParent::CompositeToTarget(). On webrender, this is the time taken from the start of WebRenderBridgeParent::CompositeToTarget(), until the render thread has rendered the frame (in RenderThread::HandleFrameOneDoc()). 1 never
gfx.content.frame_time.from_paint custom_distribution The time, in percentage of a vsync interval, spent from beginning a paint in the content process until that frame is presented in the compositor. 1 never
gfx.content.frame_time.from_vsync custom_distribution The time, in percentage of a vsync interval, spent from the vsync that started a paint in the content process until that frame is presented in the compositor. 1 never
gfx.content.frame_time.reason labeled_counter The reason that gfx.content.frame_time.from_paint recorded a slow (>200ms) result, if any. 1
  • on_time
  • no_vsync
  • missed_composite
  • slow_composite
  • missed_composite_mid
  • missed_composite_long
  • missed_composite_low
  • no_vsync_no_id
never
gfx.content.frame_time.with_svg custom_distribution The time, in percentage of a vsync interval, spent from beginning a paint in the content process until that frame is presented in the compositor, for frames that contained an SVG to be drawn by webrender. 1 never
gfx.content.frame_time.without_resource_upload custom_distribution The time, in percentage of a vsync interval, spent from beginning a paint in the content process until that frame is presented in the compositor by webrender, excluding time spent uploading resources. 1 never
gfx.content.frame_time.without_upload custom_distribution The time, in percentage of a vsync interval, spent from beginning a paint in the content process until that frame is presented in the compositor by webrender, excluding time spent uploading any content. 1 never
gfx.content.full_paint_time timing_distribution Time spent in the full paint pipeline for content until it's ready for composition. For non-webrender this includes paint_time, plus rasterization if OMTP is enabled. For webrender, this includes paint_time, plus scene building time. 1 never
gfx.content.paint_time timing_distribution Time spent in the main-thread paint pipeline for content. For non-webrender, this includes display list building, layer building, and when OMTP is disabled, rasterization. For webrender, this includes display list building, and webrender display list building. 1 never
gfx.webrender.render_time timing_distribution The time taken to build a webrender frame. This involves calculating the visibility of primitives, requesting resources, and building the render passes which will be used to render the frame. 1 never
gfx.webrender.scenebuild_time timing_distribution The time taken to build a webrender scene. This occurs each time webrender receives a new display list. This additionally includes blob rasterization time. 1 never
gfx.webrender.sceneswap_time timing_distribution The time taken to do a webrender scene swap. This is book-keeping that APZ must perform once webrender has built a new scene. 1 never
test.glean.geckoview.streaming timing_distribution A test-only, disabled metric. This is required to guarantee that a GleanGeckoHistogramMapping is always generated, even though the GeckoView AAR exports no metric. Please note that the data-review field below contains no review, since this metric is disabled and not allowed to collect any data. 1 never