Commit 3b0840b3 authored by Jonas Olsson's avatar Jonas Olsson Committed by Commit Bot

move OutputDeviceAuthorizationTime stat to IPC layer

Bug: chromium:672469
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I33a9e06feddf52699c47a8d64e17eca8ed797bf6
Reviewed-on: https://chromium-review.googlesource.com/1013460
Commit-Queue: Jonas Olsson <jonasolsson@chromium.org>
Reviewed-by: default avatarMax Morin <maxmorin@chromium.org>
Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551281}
parent a20642c9
...@@ -57,7 +57,7 @@ void MojoAudioOutputIPC::RequestDeviceAuthorization( ...@@ -57,7 +57,7 @@ void MojoAudioOutputIPC::RequestDeviceAuthorization(
session_id, device_id, session_id, device_id,
mojo::WrapCallbackWithDefaultInvokeIfNotRun( mojo::WrapCallbackWithDefaultInvokeIfNotRun(
base::BindOnce(&MojoAudioOutputIPC::ReceivedDeviceAuthorization, base::BindOnce(&MojoAudioOutputIPC::ReceivedDeviceAuthorization,
weak_factory_.GetWeakPtr()), weak_factory_.GetWeakPtr(), base::TimeTicks::Now()),
media::OutputDeviceStatus::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL, media::OutputDeviceStatus::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL,
media::AudioParameters::UnavailableDeviceParams(), std::string())); media::AudioParameters::UnavailableDeviceParams(), std::string()));
} }
...@@ -187,11 +187,20 @@ void MojoAudioOutputIPC::DoRequestDeviceAuthorization( ...@@ -187,11 +187,20 @@ void MojoAudioOutputIPC::DoRequestDeviceAuthorization(
} }
void MojoAudioOutputIPC::ReceivedDeviceAuthorization( void MojoAudioOutputIPC::ReceivedDeviceAuthorization(
base::TimeTicks auth_start_time,
media::OutputDeviceStatus status, media::OutputDeviceStatus status,
const media::AudioParameters& params, const media::AudioParameters& params,
const std::string& device_id) const { const std::string& device_id) const {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
DCHECK(delegate_); DCHECK(delegate_);
// Times over 15 s should be very rare, so we don't lose interesting data by
// making it the upper limit.
UMA_HISTOGRAM_CUSTOM_TIMES("Media.Audio.Render.OutputDeviceAuthorizationTime",
base::TimeTicks::Now() - auth_start_time,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromSeconds(15), 100);
delegate_->OnDeviceAuthorized(status, params, device_id); delegate_->OnDeviceAuthorized(status, params, device_id);
} }
......
...@@ -67,7 +67,8 @@ class CONTENT_EXPORT MojoAudioOutputIPC ...@@ -67,7 +67,8 @@ class CONTENT_EXPORT MojoAudioOutputIPC
const std::string& device_id, const std::string& device_id,
AuthorizationCB callback); AuthorizationCB callback);
void ReceivedDeviceAuthorization(media::OutputDeviceStatus status, void ReceivedDeviceAuthorization(base::TimeTicks auth_start_time,
media::OutputDeviceStatus status,
const media::AudioParameters& params, const media::AudioParameters& params,
const std::string& device_id) const; const std::string& device_id) const;
......
...@@ -192,7 +192,6 @@ void AudioOutputDevice::RequestDeviceAuthorizationOnIOThread() { ...@@ -192,7 +192,6 @@ void AudioOutputDevice::RequestDeviceAuthorizationOnIOThread() {
DCHECK_EQ(state_, IDLE); DCHECK_EQ(state_, IDLE);
state_ = AUTHORIZING; state_ = AUTHORIZING;
auth_start_time_ = base::TimeTicks::Now();
ipc_->RequestDeviceAuthorization(this, session_id_, device_id_, ipc_->RequestDeviceAuthorization(this, session_id_, device_id_,
security_origin_); security_origin_);
...@@ -336,12 +335,6 @@ void AudioOutputDevice::OnDeviceAuthorized( ...@@ -336,12 +335,6 @@ void AudioOutputDevice::OnDeviceAuthorized(
DCHECK(task_runner()->BelongsToCurrentThread()); DCHECK(task_runner()->BelongsToCurrentThread());
auth_timeout_action_.reset(); auth_timeout_action_.reset();
// Times over 15 s should be very rare, so we don't lose interesting data by
// making it the upper limit.
UMA_HISTOGRAM_CUSTOM_TIMES("Media.Audio.Render.OutputDeviceAuthorizationTime",
base::TimeTicks::Now() - auth_start_time_,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromSeconds(15), 100);
// Do nothing if late authorization is received after timeout. // Do nothing if late authorization is received after timeout.
if (state_ == IPC_CLOSED) if (state_ == IPC_CLOSED)
......
...@@ -224,9 +224,6 @@ class MEDIA_EXPORT AudioOutputDevice : public AudioRendererSink, ...@@ -224,9 +224,6 @@ class MEDIA_EXPORT AudioOutputDevice : public AudioRendererSink,
const base::TimeDelta auth_timeout_; const base::TimeDelta auth_timeout_;
std::unique_ptr<base::OneShotTimer> auth_timeout_action_; std::unique_ptr<base::OneShotTimer> auth_timeout_action_;
// Set when authorization starts, for UMA stats.
base::TimeTicks auth_start_time_;
DISALLOW_COPY_AND_ASSIGN(AudioOutputDevice); DISALLOW_COPY_AND_ASSIGN(AudioOutputDevice);
}; };
......
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