Commit d9c060d1 authored by Becca Hughes's avatar Becca Hughes Committed by Commit Bot

[Media Engagment] Add UKM metrics for playback types

Add two UKM fields to Media.Engagement.SessionFinished to
track the total playbacks from audio contexts and media
elements.

BUG=887619

Change-Id: Icb1ed1300114b09737bab2393b5c3d40e870fc5f
Reviewed-on: https://chromium-review.googlesource.com/c/1236924Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Commit-Queue: Becca Hughes <beccahughes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597149}
parent 7eaee165
......@@ -166,6 +166,8 @@ void MediaEngagementSession::RecordUkmMetrics() {
MediaEngagementScore score =
service_->CreateEngagementScore(origin_.GetURL());
ukm::builders::Media_Engagement_SessionFinished(ukm_source_id_)
.SetPlaybacks_AudioContextTotal(score.audio_context_playbacks())
.SetPlaybacks_MediaElementTotal(score.media_element_playbacks())
.SetPlaybacks_Total(score.media_playbacks())
.SetVisits_Total(score.visits())
.SetEngagement_Score(round(score.actual_score() * 100))
......
......@@ -707,6 +707,10 @@ TEST_F(MediaEngagementSessionTest, RecordUkmMetrics) {
auto* ukm_entry = ukm_entries[0];
test_ukm_recorder().ExpectEntrySourceHasUrl(ukm_entry, origin().GetURL());
EXPECT_EQ(0, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_AudioContextTotalName));
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_MediaElementTotalName));
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_TotalName));
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(ukm_entry,
......@@ -733,8 +737,7 @@ TEST_F(MediaEngagementSessionTest, RecordUkmMetrics) {
ukm_entry, Entry::kEngagement_IsHigh_ChangedName));
}
SetSignificantMediaElementPlaybackRecordedForSession(session.get(), false);
session->RecordSignificantMediaElementPlayback();
session->RecordSignificantAudioContextPlayback();
CommitPendingDataForSession(session.get());
RecordUkmMetricsForSession(session.get());
......@@ -745,6 +748,10 @@ TEST_F(MediaEngagementSessionTest, RecordUkmMetrics) {
auto* ukm_entry = ukm_entries[1];
test_ukm_recorder().ExpectEntrySourceHasUrl(ukm_entry, origin().GetURL());
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_AudioContextTotalName));
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_MediaElementTotalName));
EXPECT_EQ(2, *test_ukm_recorder().GetEntryMetric(
ukm_entry, Entry::kPlaybacks_TotalName));
EXPECT_EQ(1, *test_ukm_recorder().GetEntryMetric(ukm_entry,
......
......@@ -1769,6 +1769,12 @@ be describing additional metrics about the same event.
be zero. This score is taken from MediaEngagementService.
</summary>
</metric>
<metric name="Playbacks.AudioContextTotal">
<summary>
The total number of significant media playbacks on this origin that came
from WebAudio / AudioContext.
</summary>
</metric>
<metric name="Playbacks.Delta">
<summary>
The number of significant media playbacks on this origin during this
......@@ -1777,6 +1783,12 @@ be describing additional metrics about the same event.
200x140px, is not muted, is playing, etc.
</summary>
</metric>
<metric name="Playbacks.MediaElementTotal">
<summary>
The total number of significant media playbacks on this origin that came
from media elements.
</summary>
</metric>
<metric name="Playbacks.SecondsSinceLast">
<summary>
The number of seconds between significant media playback on the last visit
......
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