Index: content/renderer/media/audio_renderer_sink_cache_impl.cc |
diff --git a/content/renderer/media/audio_renderer_sink_cache_impl.cc b/content/renderer/media/audio_renderer_sink_cache_impl.cc |
index 9fef7d0937b1dc594ee067d45f10a1ef6363b2ae..4e3df4c71e1617ce8a0d79715103869dc41ce118 100644 |
--- a/content/renderer/media/audio_renderer_sink_cache_impl.cc |
+++ b/content/renderer/media/audio_renderer_sink_cache_impl.cc |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/location.h" |
#include "base/memory/ptr_util.h" |
+#include "base/metrics/histogram_macros.h" |
#include "base/synchronization/lock.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "content/renderer/media/audio_device_factory.h" |
@@ -88,6 +89,8 @@ media::OutputDeviceInfo AudioRendererSinkCacheImpl::GetSinkInfo( |
DVLOG(1) << "GetSinkInfo: address: " << cache_iter->sink.get() |
<< " - reused a cached sink."; |
+ UMA_HISTOGRAM_BOOLEAN("Media.Audio.SinkCache.GetOutputDeviceInfoHit", |
+ true); |
return cache_iter->sink->GetOutputDeviceInfo(); |
} |
@@ -103,6 +106,8 @@ media::OutputDeviceInfo AudioRendererSinkCacheImpl::GetSinkInfo( |
cache_.push_back(cache_entry); |
} |
+ UMA_HISTOGRAM_BOOLEAN("Media.Audio.SinkCache.GetOutputDeviceInfoHit", false); |
Henrik Grunell
2016/07/04 14:24:59
It would be nice to have the session ID case in it
o1ka
2016/07/06 13:17:30
Done.
|
+ |
// Schedule it for deletion. |
DeleteLaterIfUnused(cache_entry.sink.get()); |
@@ -118,6 +123,8 @@ scoped_refptr<media::AudioRendererSink> AudioRendererSinkCacheImpl::GetSink( |
int source_render_frame_id, |
const std::string& device_id, |
const url::Origin& security_origin) { |
+ UMA_HISTOGRAM_BOOLEAN("Media.Audio.SinkCache.UsedForSinkCreation", true); |
Henrik Grunell
2016/07/04 14:24:59
False is never recorded?
o1ka
2016/07/06 13:17:30
Recorded in AudioDeviceFactory
|
+ |
base::AutoLock auto_lock(cache_lock_); |
auto cache_iter = |
@@ -130,6 +137,8 @@ scoped_refptr<media::AudioRendererSink> AudioRendererSinkCacheImpl::GetSink( |
<< " - found unused cached sink, reusing it."; |
cache_iter->used = true; |
+ UMA_HISTOGRAM_BOOLEAN("Media.Audio.SinkCache.InfoSinkReusedForOutput", |
Henrik Grunell
2016/07/04 14:24:59
I don't understand this histogram. Seems to record
o1ka
2016/07/06 13:17:30
Discussed offline.
|
+ true); |
return cache_iter->sink; |
} |
@@ -205,8 +214,11 @@ void AudioRendererSinkCacheImpl::DeleteSink( |
// To stop the sink before deletion if it's not used, we need to hold |
// a ref to it. |
- if (!cache_iter->used) |
+ if (!cache_iter->used) { |
sink_to_stop = cache_iter->sink; |
+ UMA_HISTOGRAM_BOOLEAN("Media.Audio.SinkCache.InfoSinkReusedForOutput", |
+ false); |
+ } |
cache_.erase(cache_iter); |
DVLOG(1) << "DeleteSink: address: " << sink_ptr; |