forked from mirrors/gecko-dev
* 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.
32 KiB
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 |
|
never | |
| avif.bit_depth | labeled_counter | Bits per pixel of AVIF image. | Bug 1670827 |
|
never | |
| avif.decode_result | labeled_counter | Decode result of AVIF image. | Bug 1670827 |
|
never | |
| avif.decoder | labeled_counter | Decoder of AVIF image. | Bug 1670827 |
|
never | |
| avif.yuv_color_space | labeled_counter | YUV color space of AVIF image. | Bug 1670827 |
|
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 |
|
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 |
|
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 |
|
never | |
| gfx.display.primary_height | quantity | Height of the primary display, takes device rotation into account. | Bug 1594145 |
|
never | |
| gfx.display.primary_width | quantity | Width of the primary display, takes device rotation into account. | Bug 1594145 |
|
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 |
|
never | |
| media.audio.init_failure | labeled_counter | Failure occurs when initializing the audio stream. | Bug 1671714 |
|
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.