fune/mobile/android/android-components/components/browser/engine-gecko/docs/metrics.md
Sebastian Kaspari f14b267388 [components] Issue https://github.com/mozilla-mobile/android-components/issues/10335: Update dependencies to support Jetpack Compose and add first prototype components.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Upgrade to Gradle 7.
* Update Android Gradle Plugin to 7.0.0 Beta 2.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Generate BuildConfig with VERSION_CODE and VERSION_NAME fields in library modules (for Glean).
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add first component using Jetpack Compose: compose-browser-toolbar.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Introduce Jetpack Compose bindings for lib-state.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Upstream Jetpack Compose toolbar prototype from Reference Browser.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add TargetTab helper for observing specific tabs.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add compose-engine component for adding Jetpack Compose bindings to a concept-engine implementation.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add new sample app (samples-compose-browser) for prototyping browser UI using Jetpack Compose.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Update to Beta 3 of the Android Gradle plugin.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Allow usage of http when substituting maven repositories in CI.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Rename TabTarget helper to just Target.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Make BrowserToolbar follow target tab too.
* Add awesomebar prototype using Jetpack Compose.
* Update to Gradle 7.0.2.
2021-07-20 16:22:26 +00:00

32 KiB

Metrics

This document enumerates the metrics collected by this project using the Glean SDK. 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.

All Glean pings contain built-in metrics in the ping_info and client_info sections.

In addition to those built-in metrics, the following metrics are added to the ping:

Name Type Description Data reviews Extras Expiration Data Sensitivity
avif.aom_decode_error labeled_counter Image-decode Error from AOM decoder Bug 1690406
  • error
  • mem_error
  • abi_mismatch
  • incapable
  • unsup_bitstream
  • unsup_feature
  • corrupt_frame
  • invalid_param
never
avif.bit_depth labeled_counter Bits per pixel of AVIF image. Bug 1670827
  • color_8
  • color_10
  • color_12
  • color_16
  • unknown
never
avif.decode_result labeled_counter Decode result of AVIF image. Bug 1670827
  • success
  • parse_error
  • no_primary_item
  • decode_error
  • size_overflow
  • out_of_memory
  • pipe_init_error
  • write_buffer_error
  • alpha_y_sz_mismatch
  • alpha_y_bpc_mismatch
never
avif.decoder labeled_counter Decoder of AVIF image. Bug 1670827
  • dav1d
  • aom
never
avif.yuv_color_space labeled_counter YUV color space of AVIF image. Bug 1670827
  • bt601
  • bt709
  • bt2020
  • identity
  • unknown
never
geckoview.build_id string The Buildid of the Gecko engine, example: 20200205124310 Bug 1611240 never
geckoview.content_process_lifetime timing_distribution The uptime of content processes in ms Bug 1625325 never
geckoview.document_site_origins custom_distribution When a document is loaded, report the number of [site origins](https://searchfox.org/ mozilla-central/rev/ 3300072e993ae05d50d5c63d815260367eaf9179/ caps/nsIPrincipal.idl#264) of the entire browser if it has been at least 5 minutes since last time we collect this data. Bug 1589700 never
geckoview.page_load_progress_time timing_distribution Time between page load progress starts (0) and completion (100). Bug 1580077 never
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. Back back navigation (sometimes via BFCache) is included which is a source of bimodality due to the <50ms load times. Bug 1584109 never
geckoview.page_reload_time timing_distribution Time taken to reload a page. This includes all static contents, no dynamic content. Loading of about: pages is not counted. Bug 1580077 never
geckoview.per_document_site_origins custom_distribution When a document is unloaded, report the highest number of [site origins](https://searchfox.org/ mozilla-central/rev/ 3300072e993ae05d50d5c63d815260367eaf9179/ caps/nsIPrincipal.idl#264) loaded simultaneously in that document. Bug 1603185 never
geckoview.startup_runtime timing_distribution The time taken to initialize GeckoRuntime. Bug 1584109 never
geckoview.version string The version of the Gecko engine, example: 74.0a1 Bug 1611240 never
gfx.adapter.primary.description string Long form description of the Graphics adapter Bug 1594145 never
gfx.adapter.primary.device_id string Graphics adapter device identification Bug 1594145 never
gfx.adapter.primary.driver_date string Graphics adapter driver date Bug 1594145 never
gfx.adapter.primary.driver_files string List of graphics adapter driver files Bug 1594145 never
gfx.adapter.primary.driver_vendor string Graphics adapter driver vendor identification Bug 1594145 never
gfx.adapter.primary.driver_version string Graphics adapter driver version Bug 1594145 never
gfx.adapter.primary.ram quantity Graphics adapter dedicated memory Bug 1594145
  • unit: Megabytes
never
gfx.adapter.primary.subsystem_id string Graphics adapter subsystem identification Bug 1594145 never
gfx.adapter.primary.vendor_id string Graphics adapter vendor identification Bug 1594145 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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 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()). Bug 1580129 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. Bug 1584109 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. Bug 1584109 never
gfx.content.frame_time.reason labeled_counter The reason that gfx.content.frame_time.from_paint recorded a slow (>200ms) result, if any. Bug 1584109
  • 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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 never
gfx.display.count quantity Amount of displays connected to the device Bug 1594145
  • unit: Display count
never
gfx.display.primary_height quantity Height of the primary display, takes device rotation into account. Bug 1594145
  • unit: Pixels
never
gfx.display.primary_width quantity Width of the primary display, takes device rotation into account. Bug 1594145
  • unit: Pixels
never
gfx.feature.webrender string Whether webrender is enabled or disabled, and why. Bug 1687312 never
gfx.scroll_present_latency timing_distribution Time between receiving a scroll event on the event loop and compositing its result onto the screen (ms). Bug 1604818 never
gfx.status.compositor string Name of the graphics compositor in use. Possible values are "opengl, d3d11, client, webrender or basic" Bug 1594145 never
gfx.status.headless boolean Boolean indicated whether graphics is running in headless (no display) mode Bug 1594145 never
gfx.status.last_compositor_gecko_version string The gecko version at the last time a compositor was initialized, and therefore when gfx_status_compositor was last updated. Due to gfx_status_compositor's user lifetime we see lots of unexpected values for the current gecko version. We believe this is because the user has not opened a tab since they were updated to a version where webrender should be enabled on their device. This can be used to verify that theory. Bug 1704842 never
gfx.webrender.framebuild_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. Bug 1584109 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. Bug 1584109 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. Bug 1584109 never
javascript.gc.compact_time timing_distribution The time spent in the compact phase. Bug 1636419 never
javascript.gc.mark_roots_time timing_distribution The time spent marking GC roots. Bug 1636419 never
javascript.gc.mark_time timing_distribution The time spent in the mark phase. Bug 1636419 never
javascript.gc.minor_time timing_distribution The time taked by a minor (nursery) collection. Bug 1636419 never
javascript.gc.prepare_time timing_distribution The time spent in the preparation phase. Bug 1636419 never
javascript.gc.slice_time timing_distribution The time spent running a GC slice. Bug 1636419 never
javascript.gc.sweep_time timing_distribution The time spent in the sweep phase. Bug 1636419 never
javascript.gc.total_time timing_distribution The total time taken by a major collection. Bug 1636419 never
javascript.pageload.baseline_compile_time timing_distribution Time spent during page load baseline compiling Javascript in ms. Bug 1709139 never
javascript.pageload.delazification_time timing_distribution Time spent during page load delazifying Javascript in ms. Bug 1709139 never
javascript.pageload.execution_time timing_distribution Time spent during page load executing Javascript in ms. Bug 1709139 never
javascript.pageload.gc_time timing_distribution Time spent during page load in the GC in ms. Bug 1709139 never
javascript.pageload.parse_time timing_distribution Time spent during page load syntax parsing JS scripts on the main thread in ms. Bug 1709139 never
javascript.pageload.protect_time timing_distribution Time spent during page load protecting JIT executable memory. Bug 1709139 never
javascript.pageload.xdr_encode_time timing_distribution Time spent during page load XDR encoding Javascript in ms. Bug 1709139 never
media.audio.backend labeled_counter The operating system audio backend Bug 1671714
  • unknown
  • audiounit
  • audiounit_rust
  • aaudio
  • opensl
  • wasapi
  • winmm
  • alsa
  • jack
  • oss
  • pulse
  • pulse_rust
  • sndio
  • sun
never
media.audio.init_failure labeled_counter Failure occurs when initializing the audio stream. Bug 1671714
  • first
  • other
never
network.cache_hit_time timing_distribution Time to open existing cache entry file. Bug 1580077 never
network.dns_end timing_distribution In the HTTP page channel, time from the DNS request being issued to the response. Bug 1580077 never
network.dns_start timing_distribution In the HTTP page channel, time from connection open to the DNS request being issued. Bug 1580077 never
network.first_from_cache timing_distribution In the HTTP page channel, time from connection open to cache read start. Bug 1580077 never
network.font_download_end timing_distribution Time after navigationStart that all webfont downloads are completed. Bug 1580077 never
network.tcp_connection timing_distribution In the HTTP page channel, time from the TCP SYN packet is received to the connection is established and ready for HTTP. Bug 1580077 never
network.tls_handshake timing_distribution In the HTTP page channel, time from after the TCP SYN packet is received to the secure connection is established and ready for HTTP. Bug 1580077 never
performance.clone.deserialize.items custom_distribution Size of deserialized data, in items Bug 1717631 never
performance.clone.deserialize.size memory_distribution Size of deserialized data, in bytes Bug 1717631 never
performance.clone.deserialize.time timing_distribution Time spent deserializing structured data Bug 1717631 never
performance.interaction.keypress_present_latency timing_distribution Time between receiving a keypress event in the event loop and compositing its result onto the screen. Bug 1580077 never
performance.interaction.mouseup_click_present_latency timing_distribution Time between receiving a mouseup which follow by a mouseclick on the event loop and compositing its result onto the screen. Bug 1698643 never
performance.interaction.tab_switch_composite timing_distribution Time between tab selection and first composite of the tab content onto the screen. Bug 1580077 never
performance.page.non_blank_paint timing_distribution The time between navigationStart and the first non-blank paint of a foreground root content document, in milliseconds. This only records documents that were in an active docshell throughout the whole time between navigation start and non-blank paint. The non-blank paint timestamp is taken during display list building and does not include rasterization or compositing of that paint. Bug 1580077 never
performance.page.total_content_page_load timing_distribution Time to load all of a page's resources and render. Bug 1580077 never
performance.pageload.dcl timing_distribution Time in milliseconds from navigationStart to domContentLoaded for the foreground http or https root content document. Bug 1671729 never
performance.pageload.dcl_responsestart timing_distribution Time in milliseconds from responseStart to domContentLoaded for the foreground http or https root content document. Bug 1671729 never
performance.pageload.fcp timing_distribution The time between navigationStart and the first contentful paint of a foreground http or https root content document, in milliseconds. The contentful paint timestamp is taken during display list building and does not include rasterization or compositing of that paint. Bug 1671729 never
performance.pageload.fcp_responsestart timing_distribution The time between responseStart and the first contentful paint of a foreground http or https root content document, in milliseconds. The contentful paint timestamp is taken during display list building and does not include rasterization or compositing of that paint. Bug 1671729 never
performance.pageload.load_time timing_distribution Time in milliseconds from navigationStart to loadEventStart for the foreground http or https root content document. Bug 1671729 never
performance.pageload.load_time_responsestart timing_distribution Time in milliseconds from responseStart to loadEventStart for the foreground http or https root content document. Bug 1671729 never
performance.pageload.req_anim_frame_callback timing_distribution Time spent in milliseconds calling all request animation frame callbacks for a document before it has reached readystate complete. Bug 1671729 never
performance.responsiveness.req_anim_frame_callback timing_distribution Time spent in milliseconds calling all request animation frame callbacks for a document after it has reached readystate complete. Bug 1671729 never
performance.time.dom_complete timing_distribution Time from navigationStart to domComplete as per the W3C Performance Timing API. Bug 1580077 never
performance.time.dom_content_loaded_end timing_distribution Time from navigationStart to domContentLoadedEventEnd as per the W3C Performance Timing API. Bug 1580077 never
performance.time.dom_content_loaded_start timing_distribution Time from navigationStart to domContentLoadedEventStart as per the W3C Performance Timing API. Bug 1580077 never
performance.time.dom_interactive timing_distribution Time from navigationStart to domInteractive as per the W3C Performance Timing API. Bug 1580077 never
performance.time.load_event_end timing_distribution Time from navigationStart to loadEventEnd as per the W3C Performance Timing API. Bug 1580077 never
performance.time.load_event_start timing_distribution Time from navigationStart to loadEventStart as per the W3C Performance Timing API. Bug 1580077 never
performance.time.response_start timing_distribution Time from navigationStart to responseStart as per the W3C Performance Timing API. Bug 1580077 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. Review 1 never

Data categories are defined here.