Chromium Code Reviews| Index: content/renderer/media/rtc_peer_connection_handler.cc |
| diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc |
| index 0c5c3737cf153f2ca680d981e502701bb4301220..698bb176c62d9ca0711e19a38985264e9f36d640 100644 |
| --- a/content/renderer/media/rtc_peer_connection_handler.cc |
| +++ b/content/renderer/media/rtc_peer_connection_handler.cc |
| @@ -316,6 +316,40 @@ void LocalRTCStatsResponse::addStatistic(size_t report, |
| impl_.addStatistic(report, name, value); |
| } |
| +class PeerConnectionUMAObserver : public webrtc::UMAObserver { |
| + public: |
| + PeerConnectionUMAObserver() {} |
| + ~PeerConnectionUMAObserver() {} |
| + |
| + virtual void IncrementCounter( |
| + webrtc::PeerConnectionUMAMetricsCounter counter) OVERRIDE { |
| + UMA_HISTOGRAM_ENUMERATION("WebRTC.PeerConnectionIPMetrics", |
| + counter, |
| + webrtc::kBoundary); |
| + } |
| + |
| + virtual void AddHistogramSample( |
| + webrtc::PeerConnectionUMAMetricsName type, int value) OVERRIDE { |
| + switch (type) { |
| + case webrtc::kTimeToConnect: |
| + UMA_HISTOGRAM_MEDIUM_TIMES( |
| + "WebRTC.PeerConnectionTimeToConnect", |
| + base::TimeDelta::FromMilliseconds(value)); |
| + break; |
| + case webrtc::kNetworkInterfaces_IPv4: |
| + UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnectionIPv4Interfaces", |
| + value); |
| + break; |
| + case webrtc::kNetworkInterfaces_IPv6: |
| + UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnectionIPv6Interfaces", |
| + value); |
| + break; |
| + default: |
| + NOTREACHED(); |
| + } |
| + } |
| +}; |
| + |
| RTCPeerConnectionHandler::RTCPeerConnectionHandler( |
| blink::WebRTCPeerConnectionHandlerClient* client, |
| PeerConnectionDependencyFactory* dependency_factory) |
| @@ -364,6 +398,9 @@ bool RTCPeerConnectionHandler::initialize( |
| peer_connection_tracker_->RegisterPeerConnection( |
| this, servers, constraints, frame_); |
| + uma_observer_ = new talk_base::RefCountedObject<PeerConnectionUMAObserver>(); |
| + if (uma_observer_) |
|
perkj_chrome
2014/05/22 07:38:58
this can not fail. no need to check.
Mallinath (Gone from Chromium)
2014/05/22 15:46:36
Done.
|
| + native_peer_connection_->RegisterUMAObserver(uma_observer_.get()); |
| return true; |
| } |