Commit bc19fce5 authored by behdad's avatar behdad Committed by Chromium LUCI CQ

Added PerSession UMA metrics for smoothness

Reported smoothness UKM metrics are also reported to UMA, under
"Graphics.Smoothness.PerSession"

Bug: 1115141
Change-Id: I5c82dd78a44aa06fde63ebde11bcc953464b9548
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2547394Reviewed-by: default avatarNicolás Peña Moreno <npm@chromium.org>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: default avatarMark Pearson <mpearson@chromium.org>
Commit-Queue: Behdad Bakhshinategh <behdadb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833010}
parent 18d5149f
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
#include <vector> #include <vector>
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/metrics/histogram.h"
#include "base/metrics/histogram_macros.h"
#include "base/timer/elapsed_timer.h" #include "base/timer/elapsed_timer.h"
#include "base/trace_event/common/trace_event_common.h" #include "base/trace_event/common/trace_event_common.h"
#include "cc/metrics/ukm_smoothness_data.h" #include "cc/metrics/ukm_smoothness_data.h"
...@@ -987,6 +989,16 @@ void UkmPageLoadMetricsObserver::RecordSmoothnessMetrics() { ...@@ -987,6 +989,16 @@ void UkmPageLoadMetricsObserver::RecordSmoothnessMetrics() {
.SetAboveThreshold(smoothness_data.above_threshold) .SetAboveThreshold(smoothness_data.above_threshold)
.SetWorstCase(smoothness_data.worst_smoothness) .SetWorstCase(smoothness_data.worst_smoothness)
.Record(ukm::UkmRecorder::Get()); .Record(ukm::UkmRecorder::Get());
UMA_HISTOGRAM_PERCENTAGE(
"Graphics.Smoothness.PerSession.AveragePercentDroppedFrames",
smoothness_data.avg_smoothness);
UMA_HISTOGRAM_PERCENTAGE(
"Graphics.Smoothness.PerSession.95pctPercentDroppedFrames_1sWindow",
smoothness_data.percentile_95);
UMA_HISTOGRAM_PERCENTAGE(
"Graphics.Smoothness.PerSession.MaxPercentDroppedFrames_1sWindow",
smoothness_data.worst_smoothness);
} }
void UkmPageLoadMetricsObserver::RecordMobileFriendlinessMetrics() { void UkmPageLoadMetricsObserver::RecordMobileFriendlinessMetrics() {
......
...@@ -6186,6 +6186,55 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -6186,6 +6186,55 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary> </summary>
</histogram> </histogram>
<histogram
name="Graphics.Smoothness.PerSession.95pctPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the 95th percentile of dropped frames percent of a sliding window of
1 second. The metric is reported once per page-load when the page closes. If
there are fewer than 20 sliding windows for calculating 95th percentile, the
max value will be used instead of 95th percentile.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.PerSession.AveragePercentDroppedFrames"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the percent of dropped frames. The metric is reported once per
page-load when the page closes.
AveragePercentDroppedFrames is measured by tracking the number of frames
which were not displayed on screen out of the total number of frames
expected to be produced and displayed. In other words, the lower this number
is, the smoother experience.
</summary>
</histogram>
<histogram
name="Graphics.Smoothness.PerSession.MaxPercentDroppedFrames_1sWindow"
units="%" expires_after="2021-11-18">
<owner>sadrul@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks the Max of dropped frames percent of a sliding window of 1 second.
The metric is reported once per page-load when the page closes.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
</summary>
</histogram>
<histogram name="Graphics.Smoothness.Stale" units="ms" <histogram name="Graphics.Smoothness.Stale" units="ms"
expires_after="2021-11-01"> expires_after="2021-11-01">
<owner>sadrul@chromium.org</owner> <owner>sadrul@chromium.org</owner>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment