diff --git a/browser/modules/AsyncTabSwitcher.sys.mjs b/browser/modules/AsyncTabSwitcher.sys.mjs index 69e693021f51..4ecdcf78823f 100644 --- a/browser/modules/AsyncTabSwitcher.sys.mjs +++ b/browser/modules/AsyncTabSwitcher.sys.mjs @@ -1381,27 +1381,19 @@ export class AsyncTabSwitcher { // It's hard to know which composite the layers will first be available in (and // the parent process might not even get MozAfterPaint delivered for it), so just // give up measuring this for now. :( - TelemetryStopwatch.cancel("FX_TAB_SWITCH_COMPOSITE_E10S_MS", this.window); + Glean.performanceInteraction.tabSwitchComposite.cancel( + this._tabswitchTimerId + ); + this._tabswitchTimerId = null; } notePaint(event) { if (this.switchPaintId != -1 && event.transactionId >= this.switchPaintId) { - if ( - TelemetryStopwatch.running( - "FX_TAB_SWITCH_COMPOSITE_E10S_MS", - this.window - ) - ) { - let time = TelemetryStopwatch.timeElapsed( - "FX_TAB_SWITCH_COMPOSITE_E10S_MS", - this.window + if (this._tabswitchTimerId) { + Glean.performanceInteraction.tabSwitchComposite.stopAndAccumulate( + this._tabswitchTimerId ); - if (time != -1) { - TelemetryStopwatch.finish( - "FX_TAB_SWITCH_COMPOSITE_E10S_MS", - this.window - ); - } + this._tabswitchTimerId = null; } let { innerWindowId } = this.window.windowGlobalChild; ChromeUtils.addProfilerMarker("AsyncTabSwitch:Composited", { @@ -1443,12 +1435,13 @@ export class AsyncTabSwitcher { TelemetryStopwatch.cancel("FX_TAB_SWITCH_TOTAL_E10S_MS", this.window); TelemetryStopwatch.start("FX_TAB_SWITCH_TOTAL_E10S_MS", this.window); - if ( - TelemetryStopwatch.running("FX_TAB_SWITCH_COMPOSITE_E10S_MS", this.window) - ) { - TelemetryStopwatch.cancel("FX_TAB_SWITCH_COMPOSITE_E10S_MS", this.window); + if (this._tabswitchTimerId) { + Glean.performanceInteraction.tabSwitchComposite.cancel( + this._tabswitchTimerId + ); } - TelemetryStopwatch.start("FX_TAB_SWITCH_COMPOSITE_E10S_MS", this.window); + this._tabswitchTimerId = + Glean.performanceInteraction.tabSwitchComposite.start(); let { innerWindowId } = this.window.windowGlobalChild; ChromeUtils.addProfilerMarker("AsyncTabSwitch:Start", { innerWindowId }); } diff --git a/browser/modules/metrics.yaml b/browser/modules/metrics.yaml index 24ec1981b8dc..ac4e0c6ef9f4 100644 --- a/browser/modules/metrics.yaml +++ b/browser/modules/metrics.yaml @@ -93,3 +93,28 @@ browser.engagement: send_in_pings: - metrics expires: never + + +performance.interaction: + tab_switch_composite: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: FX_TAB_SWITCH_COMPOSITE_E10S_MS + description: > + Time between tab selection and first composite of the tab content onto the + screen. + (Migrated from the geckoview metric of the same name.) + metadata: + tags: + - 'Firefox :: Tabbed Browser' + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1481704 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1529352 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - mconley@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never diff --git a/docshell/base/metrics.yaml b/docshell/base/metrics.yaml new file mode 100644 index 000000000000..ddb34579454c --- /dev/null +++ b/docshell/base/metrics.yaml @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Adding a new metric? We have docs for that! +# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html + +--- +$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0 +$tags: + - 'Core :: DOM: Navigation' + +performance.page: + total_content_page_load: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TOTAL_CONTENT_PAGE_LOAD_TIME + description: > + Time to load all of a page's resources and render. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - perf-telemetry-alerts@mozilla.com + - bdekoz@mozilla.com + expires: never diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 5e1b5f4edbcd..55841434340f 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -6266,8 +6266,8 @@ nsresult nsDocShell::EndPageLoad(nsIWebProgress* aProgress, TimeStamp channelCreationTime; rv = timingChannel->GetChannelCreation(&channelCreationTime); if (NS_SUCCEEDED(rv) && !channelCreationTime.IsNull()) { - Telemetry::AccumulateTimeDelta(Telemetry::TOTAL_CONTENT_PAGE_LOAD_TIME, - channelCreationTime); + glean::performance_page::total_content_page_load.AccumulateRawDuration( + TimeStamp::Now() - channelCreationTime); } } diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index da2a3687ac1e..4d8c6f162b31 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -2146,8 +2146,8 @@ void Document::AccumulatePageLoadTelemetry( // First Contentful Composite if (TimeStamp firstContentfulComposite = GetNavigationTiming()->GetFirstContentfulCompositeTimeStamp()) { - Telemetry::AccumulateTimeDelta(Telemetry::PERF_FIRST_CONTENTFUL_PAINT_MS, - navigationStart, firstContentfulComposite); + glean::performance_pageload::fcp.AccumulateRawDuration( + firstContentfulComposite - navigationStart); if (!http3Key.IsEmpty()) { Telemetry::AccumulateTimeDelta( @@ -2171,9 +2171,8 @@ void Document::AccumulatePageLoadTelemetry( Telemetry::DNS_PERF_FIRST_CONTENTFUL_PAINT_MS, dnsKey, navigationStart, firstContentfulComposite); - Telemetry::AccumulateTimeDelta( - Telemetry::PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS, - responseStart, firstContentfulComposite); + glean::performance_pageload::fcp_responsestart.AccumulateRawDuration( + firstContentfulComposite - responseStart); TimeDuration fcpTime = firstContentfulComposite - navigationStart; if (fcpTime > zeroDuration) { @@ -2190,21 +2189,11 @@ void Document::AccumulatePageLoadTelemetry( static_cast((lcpTime - navigationStart).ToMilliseconds())); } - // DOM Content Loaded event - if (TimeStamp dclEventStart = - GetNavigationTiming()->GetDOMContentLoadedEventStartTimeStamp()) { - Telemetry::AccumulateTimeDelta(Telemetry::PERF_DOM_CONTENT_LOADED_TIME_MS, - navigationStart, dclEventStart); - Telemetry::AccumulateTimeDelta( - Telemetry::PERF_DOM_CONTENT_LOADED_TIME_FROM_RESPONSESTART_MS, - responseStart, dclEventStart); - } - // Load event if (TimeStamp loadEventStart = GetNavigationTiming()->GetLoadEventStartTimeStamp()) { - Telemetry::AccumulateTimeDelta(Telemetry::PERF_PAGE_LOAD_TIME_MS, - navigationStart, loadEventStart); + glean::performance_pageload::load_time.AccumulateRawDuration( + loadEventStart - navigationStart); if (!http3Key.IsEmpty()) { Telemetry::AccumulateTimeDelta(Telemetry::HTTP3_PERF_PAGE_LOAD_TIME_MS, http3Key, navigationStart, loadEventStart); @@ -2222,9 +2211,8 @@ void Document::AccumulatePageLoadTelemetry( loadEventStart); } - Telemetry::AccumulateTimeDelta( - Telemetry::PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS, responseStart, - loadEventStart); + glean::performance_pageload::load_time_responsestart.AccumulateRawDuration( + loadEventStart - responseStart); TimeDuration responseTime = responseStart - navigationStart; if (responseTime > zeroDuration) { @@ -18420,15 +18408,15 @@ void Document::RecordNavigationTiming(ReadyState aReadyState) { break; case READYSTATE_INTERACTIVE: if (!mDOMInteractiveSet) { - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_DOM_INTERACTIVE_MS, - startTime); + glean::performance_time::dom_interactive.AccumulateRawDuration( + TimeStamp::Now() - startTime); mDOMInteractiveSet = true; } break; case READYSTATE_COMPLETE: if (!mDOMCompleteSet) { - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_DOM_COMPLETE_MS, - startTime); + glean::performance_time::dom_complete.AccumulateRawDuration( + TimeStamp::Now() - startTime); mDOMCompleteSet = true; } break; diff --git a/dom/base/nsDOMNavigationTiming.cpp b/dom/base/nsDOMNavigationTiming.cpp index 9c0981523512..ec70d2b1ac06 100644 --- a/dom/base/nsDOMNavigationTiming.cpp +++ b/dom/base/nsDOMNavigationTiming.cpp @@ -141,8 +141,8 @@ void nsDOMNavigationTiming::NotifyLoadEventStart() { if (IsTopLevelContentDocumentInContentProcess()) { TimeStamp now = TimeStamp::Now(); - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_LOAD_EVENT_START_MS, - mNavigationStart, now); + glean::performance_time::load_event_start.AccumulateRawDuration( + now - mNavigationStart); if (mDocShellHasBeenActiveSinceNavigationStart) { if (net::nsHttp::IsBeforeLastActiveTabLoadOptimization( @@ -186,8 +186,8 @@ void nsDOMNavigationTiming::NotifyLoadEventEnd() { MarkerInnerWindowIdFromDocShell(mDocShell)), marker); } - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_LOAD_EVENT_END_MS, - mNavigationStart); + glean::performance_time::load_event_end.AccumulateRawDuration( + TimeStamp::Now() - mNavigationStart); } } @@ -249,8 +249,8 @@ void nsDOMNavigationTiming::NotifyDOMContentLoadedStart(nsIURI* aURI) { if (IsTopLevelContentDocumentInContentProcess()) { TimeStamp now = TimeStamp::Now(); - Telemetry::AccumulateTimeDelta( - Telemetry::TIME_TO_DOM_CONTENT_LOADED_START_MS, mNavigationStart, now); + glean::performance_time::dom_content_loaded_start.AccumulateRawDuration( + now - mNavigationStart); if (mDocShellHasBeenActiveSinceNavigationStart) { if (net::nsHttp::IsBeforeLastActiveTabLoadOptimization( @@ -281,8 +281,8 @@ void nsDOMNavigationTiming::NotifyDOMContentLoadedEnd(nsIURI* aURI) { Tracing, "Navigation"); if (IsTopLevelContentDocumentInContentProcess()) { - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_DOM_CONTENT_LOADED_END_MS, - mNavigationStart); + glean::performance_time::dom_content_loaded_end.AccumulateRawDuration( + TimeStamp::Now() - mNavigationStart); } } @@ -426,8 +426,8 @@ void nsDOMNavigationTiming::NotifyNonBlankPaintForRootContentDocument() { mNonBlankPaint); } - Telemetry::AccumulateTimeDelta(Telemetry::TIME_TO_NON_BLANK_PAINT_MS, - mNavigationStart, mNonBlankPaint); + glean::performance_page::non_blank_paint.AccumulateRawDuration( + mNonBlankPaint - mNavigationStart); } } diff --git a/dom/metrics.yaml b/dom/metrics.yaml index 34f2f6a425d6..0ac6b05fbd3b 100644 --- a/dom/metrics.yaml +++ b/dom/metrics.yaml @@ -132,3 +132,228 @@ bloburl: - amadan@mozilla.com expires: 127 telemetry_mirror: BLOBURL_RESOLVE_STOPPED + +performance.pageload: + load_time: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_PAGE_LOAD_TIME_MS + description: > + Time in milliseconds from navigationStart to loadEventStart + for the foreground http or https root content document. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + load_time_responsestart: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS + description: > + Time in milliseconds from responseStart to loadEventStart + for the foreground http or https root content document. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + fcp: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_FIRST_CONTENTFUL_PAINT_MS + description: > + 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. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + fcp_responsestart: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS + description: > + 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. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + +performance.time: + dom_interactive: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_DOM_INTERACTIVE_MS + description: > + Time from navigationStart to domInteractive as per the W3C + Performance Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vgosu@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + dom_content_loaded_start: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_DOM_CONTENT_LOADED_START_MS + description: > + Time from navigationStart to domContentLoadedEventStart as per + the W3C Performance Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - perf-telemetry-alerts@mozilla.com + - bdekoz@mozilla.com + expires: never + + dom_content_loaded_end: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_DOM_CONTENT_LOADED_END_MS + description: > + Time from navigationStart to domContentLoadedEventEnd as per + the W3C Performance Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vchin@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + dom_complete: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_DOM_COMPLETE_MS + description: > + Time from navigationStart to domComplete as per the W3C Performance + Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vgosu@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + load_event_start: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_LOAD_EVENT_START_MS + description: > + Time from navigationStart to loadEventStart as per the W3C Performance + Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - perf-telemetry-alerts@mozilla.com + - bdekoz@mozilla.com + expires: never + + load_event_end: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_LOAD_EVENT_END_MS + description: > + Time from navigationStart to loadEventEnd as per the W3C Performance + Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vchin@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + +performance.page: + non_blank_paint: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_NON_BLANK_PAINT_MS + description: > + 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. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1307242 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vchin@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never diff --git a/dom/performance/PerformanceTiming.cpp b/dom/performance/PerformanceTiming.cpp index 67e1ba5c7423..546783d68673 100644 --- a/dom/performance/PerformanceTiming.cpp +++ b/dom/performance/PerformanceTiming.cpp @@ -87,9 +87,10 @@ PerformanceTiming::PerformanceTiming(Performance* aPerformance, // used for subresources, which is irrelevant to this probe. if (!aHttpChannel && StaticPrefs::dom_enable_performance() && IsTopLevelContentDocument()) { - Telemetry::Accumulate(Telemetry::TIME_TO_RESPONSE_START_MS, - mTimingData->ResponseStartHighRes(aPerformance) - - mTimingData->ZeroTime()); + glean::performance_time::response_start.AccumulateRawDuration( + TimeDuration::FromMilliseconds( + mTimingData->ResponseStartHighRes(aPerformance) - + mTimingData->ZeroTime())); } } diff --git a/dom/performance/metrics.yaml b/dom/performance/metrics.yaml new file mode 100644 index 000000000000..995afc102443 --- /dev/null +++ b/dom/performance/metrics.yaml @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Adding a new metric? We have docs for that! +# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html + +--- +$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0 +$tags: + - 'Core :: DOM: Performance' + +performance.time: + response_start: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: TIME_TO_RESPONSE_START_MS + description: > + Time from navigationStart to responseStart as per the W3C + Performance Timing API. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - vchin@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp index 0daf08015177..3982791357c2 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -1990,17 +1990,15 @@ void RecordCompositionPayloadsPresented( } if (payload.mType == CompositionPayloadType::eKeyPress) { - Telemetry::AccumulateTimeDelta( - mozilla::Telemetry::KEYPRESS_PRESENT_LATENCY, payload.mTimeStamp, - presented); + glean::performance_interaction::keypress_present_latency + .AccumulateRawDuration(presented - payload.mTimeStamp); } else if (payload.mType == CompositionPayloadType::eAPZScroll) { mozilla::glean::gfx::scroll_present_latency.AccumulateRawDuration( presented - payload.mTimeStamp); } else if (payload.mType == CompositionPayloadType::eMouseUpFollowedByClick) { - Telemetry::AccumulateTimeDelta( - mozilla::Telemetry::MOUSEUP_FOLLOWED_BY_CLICK_PRESENT_LATENCY, - payload.mTimeStamp, presented); + glean::performance_interaction::mouseup_click_present_latency + .AccumulateRawDuration(presented - payload.mTimeStamp); } } } diff --git a/gfx/metrics.yaml b/gfx/metrics.yaml index c32fd0dece91..bb7a0fdd63bc 100644 --- a/gfx/metrics.yaml +++ b/gfx/metrics.yaml @@ -909,3 +909,42 @@ gfx.adapter.primary: notification_emails: - gfx-telemetry-alerts@mozilla.com expires: never + + +performance.interaction: + keypress_present_latency: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: KEYPRESS_PRESENT_LATENCY + description: > + Time between receiving a keypress event in the event loop and compositing + its result onto the screen. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1506537 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1875170 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 + notification_emails: + - perf-telemetry-alerts@mozilla.com + - vchin@mozilla.com + expires: never + + mouseup_click_present_latency: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: MOUSEUP_FOLLOWED_BY_CLICK_PRESENT_LATENCY + description: > + Time between receiving a mouseup which follow by a mouseclick + on the event loop and compositing its result onto the screen. + (Migrated from the geckoview metric of the same name). + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1698643 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1875170 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1698643#c3 + notification_emails: + - perf-telemetry-alerts@mozilla.com + - sefeng@mozilla.com + expires: never diff --git a/layout/base/metrics.yaml b/layout/base/metrics.yaml new file mode 100644 index 000000000000..856ff77965d5 --- /dev/null +++ b/layout/base/metrics.yaml @@ -0,0 +1,50 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Adding a new metric? We have docs for that! +# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html + +--- +$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0 +$tags: + - 'Core :: Layout' + +performance.pageload: + req_anim_frame_callback: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_REQUEST_ANIMATION_CALLBACK_PAGELOAD_MS + description: > + Time spent in milliseconds calling all request animation frame callbacks + for a document before it has reached readystate complete. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never + + +performance.responsiveness: + req_anim_frame_callback: + type: timing_distribution + time_unit: millisecond + telemetry_mirror: PERF_REQUEST_ANIMATION_CALLBACK_NON_PAGELOAD_MS + description: > + Time spent in milliseconds calling all request animation frame callbacks + for a document after it has reached readystate complete. + (Migrated from the geckoview metric of the same name.) + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 + notification_emails: + - dpalmeiro@mozilla.com + - perf-telemetry-alerts@mozilla.com + expires: never diff --git a/layout/base/nsRefreshDriver.cpp b/layout/base/nsRefreshDriver.cpp index ae10c19671ba..af780bb192bd 100644 --- a/layout/base/nsRefreshDriver.cpp +++ b/layout/base/nsRefreshDriver.cpp @@ -2394,13 +2394,11 @@ void nsRefreshDriver::RunFrameRequestCallbacks(TimeStamp aNowTime) { if (docCallbacks.mDocument->GetReadyStateEnum() == Document::READYSTATE_COMPLETE) { - Telemetry::AccumulateTimeDelta( - Telemetry::PERF_REQUEST_ANIMATION_CALLBACK_NON_PAGELOAD_MS, - startTime, TimeStamp::Now()); + glean::performance_responsiveness::req_anim_frame_callback + .AccumulateRawDuration(TimeStamp::Now() - startTime); } else { - Telemetry::AccumulateTimeDelta( - Telemetry::PERF_REQUEST_ANIMATION_CALLBACK_PAGELOAD_MS, startTime, - TimeStamp::Now()); + glean::performance_pageload::req_anim_frame_callback + .AccumulateRawDuration(TimeStamp::Now() - startTime); } } } diff --git a/toolkit/components/glean/metrics_index.py b/toolkit/components/glean/metrics_index.py index 2102b0db3f83..19ddec525865 100644 --- a/toolkit/components/glean/metrics_index.py +++ b/toolkit/components/glean/metrics_index.py @@ -16,12 +16,15 @@ # Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py gecko_metrics = [ "browser/base/content/metrics.yaml", + "docshell/base/metrics.yaml", "dom/base/use_counter_metrics.yaml", "dom/media/metrics.yaml", "dom/media/webrtc/metrics.yaml", "dom/metrics.yaml", + "dom/performance/metrics.yaml", "gfx/metrics.yaml", "image/decoders/metrics.yaml", + "layout/base/metrics.yaml", "mobile/android/actors/metrics.yaml", "mobile/android/modules/geckoview/metrics.yaml", "netwerk/metrics.yaml", diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json index 6dee45d78dde..9dad404f94a5 100644 --- a/toolkit/components/telemetry/Histograms.json +++ b/toolkit/components/telemetry/Histograms.json @@ -2393,7 +2393,7 @@ }, "KEYPRESS_PRESENT_LATENCY": { "record_in_processes": ["all"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com", "vchin@mozilla.com"], "expires_in_version": "never", "kind": "exponential", @@ -2406,7 +2406,7 @@ }, "MOUSEUP_FOLLOWED_BY_CLICK_PRESENT_LATENCY": { "record_in_processes": ["main", "gpu"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com", "sefeng@mozilla.com"], "expires_in_version": "never", "kind": "exponential", @@ -2512,7 +2512,7 @@ }, "TOTAL_CONTENT_PAGE_LOAD_TIME": { "record_in_processes": ["main", "content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com", "bdekoz@mozilla.com"], "expires_in_version": "never", "kind": "exponential", @@ -8609,7 +8609,7 @@ }, "FX_TAB_SWITCH_COMPOSITE_E10S_MS": { "record_in_processes": ["main"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["mwoodrow@mozilla.com"], "expires_in_version": "never", "kind": "exponential", @@ -15957,7 +15957,7 @@ }, "TIME_TO_NON_BLANK_PAINT_MS": { "record_in_processes": ["main", "content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16100,7 +16100,7 @@ }, "TIME_TO_DOM_INTERACTIVE_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "hbambas@mozilla.com", "vgosu@mozilla.com", @@ -16116,7 +16116,7 @@ }, "TIME_TO_DOM_CONTENT_LOADED_START_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["bdekoz@mozilla.com", "perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16150,7 +16150,7 @@ }, "TIME_TO_DOM_CONTENT_LOADED_END_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16162,7 +16162,7 @@ }, "TIME_TO_DOM_COMPLETE_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "hbambas@mozilla.com", "vgosu@mozilla.com", @@ -16178,7 +16178,7 @@ }, "TIME_TO_LOAD_EVENT_START_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["bdekoz@mozilla.com", "perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16212,7 +16212,7 @@ }, "TIME_TO_LOAD_EVENT_END_MS": { "record_in_processes": ["content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16224,7 +16224,7 @@ }, "TIME_TO_RESPONSE_START_MS": { "record_in_processes": ["main", "content"], - "products": ["firefox", "fennec", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": ["perf-telemetry-alerts@mozilla.com"], "expires_in_version": "never", "releaseChannelCollection": "opt-out", @@ -16236,7 +16236,7 @@ }, "PERF_PAGE_LOAD_TIME_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" @@ -16251,7 +16251,7 @@ }, "PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" @@ -16264,39 +16264,9 @@ "bug_numbers": [1671729], "description": "Time in milliseconds from responseStart to loadEventStart for the foreground http or https root content document." }, - "PERF_DOM_CONTENT_LOADED_TIME_MS": { - "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], - "alert_emails": [ - "dpalmeiro@mozilla.com", - "perf-telemetry-alerts@mozilla.com" - ], - "expires_in_version": "never", - "releaseChannelCollection": "opt-out", - "kind": "exponential", - "high": 50000, - "n_buckets": 100, - "bug_numbers": [1671729], - "description": "Time in milliseconds from navigationStart to domContentLoaded for the foreground http or https root content document." - }, - "PERF_DOM_CONTENT_LOADED_TIME_FROM_RESPONSESTART_MS": { - "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], - "alert_emails": [ - "dpalmeiro@mozilla.com", - "perf-telemetry-alerts@mozilla.com" - ], - "expires_in_version": "never", - "releaseChannelCollection": "opt-out", - "kind": "exponential", - "high": 50000, - "n_buckets": 100, - "bug_numbers": [1671729], - "description": "Time in milliseconds from responseStart to domContentLoaded for the foreground http or https root content document." - }, "PERF_FIRST_CONTENTFUL_PAINT_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" @@ -16311,7 +16281,7 @@ }, "PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" @@ -16350,7 +16320,7 @@ }, "PERF_REQUEST_ANIMATION_CALLBACK_NON_PAGELOAD_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" @@ -16365,7 +16335,7 @@ }, "PERF_REQUEST_ANIMATION_CALLBACK_PAGELOAD_MS": { "record_in_processes": ["content"], - "products": ["firefox", "geckoview_streaming"], + "products": ["firefox"], "alert_emails": [ "dpalmeiro@mozilla.com", "perf-telemetry-alerts@mozilla.com" diff --git a/toolkit/components/telemetry/geckoview/streaming/metrics.yaml b/toolkit/components/telemetry/geckoview/streaming/metrics.yaml index 42af4d5c11db..74f39f7f0bef 100644 --- a/toolkit/components/telemetry/geckoview/streaming/metrics.yaml +++ b/toolkit/components/telemetry/geckoview/streaming/metrics.yaml @@ -12,358 +12,6 @@ --- $schema: moz://mozilla.org/schemas/glean/metrics/2-0-0 -performance.pageload: - load_time: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_PAGE_LOAD_TIME_MS - description: > - Time in milliseconds from navigationStart to loadEventStart - for the foreground http or https root content document. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - load_time_responsestart: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS - description: > - Time in milliseconds from responseStart to loadEventStart - for the foreground http or https root content document. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - dcl: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_DOM_CONTENT_LOADED_MS - description: > - Time in milliseconds from navigationStart to domContentLoaded - for the foreground http or https root content document. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - dcl_responsestart: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_DOM_CONTENT_LOADED_FROM_RESPONSESTART_MS - description: > - Time in milliseconds from responseStart to domContentLoaded - for the foreground http or https root content document. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - fcp: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_FIRST_CONTENTFUL_PAINT_MS - description: > - 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. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - fcp_responsestart: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS - description: > - 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. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - req_anim_frame_callback: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_REQUEST_ANIMATION_CALLBACK_PAGELOAD_MS - description: > - Time spent in milliseconds calling all request animation frame callbacks - for a document before it has reached readystate complete. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - -performance.responsiveness: - req_anim_frame_callback: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: PERF_REQUEST_ANIMATION_CALLBACK_NON_PAGELOAD_MS - description: > - Time spent in milliseconds calling all request animation frame callbacks - for a document after it has reached readystate complete. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7 - notification_emails: - - dpalmeiro@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - -performance.time: - response_start: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_RESPONSE_START_MS - description: > - Time from navigationStart to responseStart as per the W3C - Performance Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vchin@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - dom_interactive: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_DOM_INTERACTIVE_MS - description: > - Time from navigationStart to domInteractive as per the W3C - Performance Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vgosu@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - dom_content_loaded_start: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_DOM_CONTENT_LOADED_START_MS - description: > - Time from navigationStart to domContentLoadedEventStart as per - the W3C Performance Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - perf-telemetry-alerts@mozilla.com - - bdekoz@mozilla.com - expires: never - - dom_content_loaded_end: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_DOM_CONTENT_LOADED_END_MS - description: > - Time from navigationStart to domContentLoadedEventEnd as per - the W3C Performance Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vchin@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - dom_complete: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_DOM_COMPLETE_MS - description: > - Time from navigationStart to domComplete as per the W3C Performance - Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vgosu@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - load_event_start: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_LOAD_EVENT_START_MS - description: > - Time from navigationStart to loadEventStart as per the W3C Performance - Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - perf-telemetry-alerts@mozilla.com - - bdekoz@mozilla.com - expires: never - - load_event_end: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_LOAD_EVENT_END_MS - description: > - Time from navigationStart to loadEventEnd as per the W3C Performance - Timing API. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vchin@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - -performance.page: - non_blank_paint: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TIME_TO_NON_BLANK_PAINT_MS - description: > - 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. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1307242 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - vchin@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - - total_content_page_load: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: TOTAL_CONTENT_PAGE_LOAD_TIME - description: > - Time to load all of a page's resources and render. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - perf-telemetry-alerts@mozilla.com - - bdekoz@mozilla.com - expires: never - -performance.interaction: - keypress_present_latency: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: KEYPRESS_PRESENT_LATENCY - description: > - Time between receiving a keypress event in the event loop and compositing - its result onto the screen. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1506537 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - perf-telemetry-alerts@mozilla.com - - vchin@mozilla.com - expires: never - - mouseup_click_present_latency: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: MOUSEUP_FOLLOWED_BY_CLICK_PRESENT_LATENCY - description: > - Time between receiving a mouseup which follow by a mouseclick - on the event loop and compositing its result onto the screen. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1698643 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1698643#c3 - notification_emails: - - perf-telemetry-alerts@mozilla.com - - sefeng@mozilla.com - expires: never - - tab_switch_composite: - type: timing_distribution - time_unit: millisecond - gecko_datapoint: FX_TAB_SWITCH_COMPOSITE_E10S_MS - description: > - Time between tab selection and first composite of the tab content onto the - screen. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1481704 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1529352 - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10 - notification_emails: - - mconley@mozilla.com - - perf-telemetry-alerts@mozilla.com - expires: never - javascript.pageload: execution_time: type: timing_distribution