New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 896484 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Bug

Blocked on:
issue 866455
issue 896431


Participants' hotlists:
AudioService-FixIt


Sign in to add a comment

Revisit audio output controller UMAs: device change count, change time, etc.

Project Member Reported by m...@chromium.org, Oct 17

Issue description

In order to have a reasonable apples-to-apples comparison between the legacy media::AudioOutputController and the new audio::OutputController (for the Audio Service), some existing issues in which "reasons" the stream creation counts and creation times are being recorded were revealed but purposely ignored. This was necessary to resolve  bug 896431  for launch.

For example, OnDeviceChange() will record the change time in the "Media.AudioOutputController.DeviceChangeTime" UMA, but by calling Create(), a UMA there "Media.AudioOutputController.ChangeTime" will be double-tracking the creation time. They really should be separate.

Also, in order to resolve  bug 896431 , a "reason" switch was added for filtering when UMA counts were incremented. However, it seems that this is the wrong filter (but is probably not causing a biased sampling). What really matters is tracking how long it takes to create normal audio streams, regardless of whether that was happening because this was the initial stream creation or because we were toggling muting off.

In all, the counts and timing histograms should be examined to ensure we are not double-tracking anything, and that we are not filtering out things that matter, that we *are* filtering out things that don't matter (e.g., creating fake streams), etc.   ...and this should result in a cleaner code structure as well. :)
 
Blockedon: 896431 866455
Cc: maxmorin@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3c83fe9271240d3b6501b80ed90b6c4067e46ea

commit c3c83fe9271240d3b6501b80ed90b6c4067e46ea
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Oct 18 16:25:46 2018

Fix Audio Service "device change UMAs" w.r.t. muting.

Filters mute toggling from being counted in the "device change UMAs," to
provide an apples-to-apples comparison with the counts in in the legacy
media::AudioOutputController code paths. It filters on the "reason" for
stream re-creation to ensure measurements are taken iff they would be
taken in the legacy code paths.

Side note: This is not exactly what we *should* be measuring (i.e., it
is filtering out too much in some cases, and double-counting others).
However, it should be sufficient to prove that stream creation counts/
timing in the new Audio Service is on-par with the legacy code paths.
This is discussed further in fix-it bug 8964843.

Bug:  896431 , 896484, 866455
Change-Id: I677aaf5b485ffa8e605668a87b9bdc06cd3c1ae3
Reviewed-on: https://chromium-review.googlesource.com/c/1287256
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600790}
[modify] https://crrev.com/c3c83fe9271240d3b6501b80ed90b6c4067e46ea/services/audio/output_controller.cc
[modify] https://crrev.com/c3c83fe9271240d3b6501b80ed90b6c4067e46ea/services/audio/output_controller.h
[modify] https://crrev.com/c3c83fe9271240d3b6501b80ed90b6c4067e46ea/services/audio/output_controller_unittest.cc
[modify] https://crrev.com/c3c83fe9271240d3b6501b80ed90b6c4067e46ea/services/audio/output_stream.cc

Comment 4 by dbbrooks@chromium.org, Jan 18 (5 days ago)

Owner: maxmorin@chromium.org
Status: Assigned (was: Untriaged)
maxmorin@ for routing.

Sign in to add a comment