Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Unified Diff: content/renderer/media/rtc_peer_connection_handler.cc

Issue 291533004: Wiring Libjingle network related metrics into Chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..5d9ccb852d7b45138a58869ab536d6fe3e004bd1 100644
--- a/content/renderer/media/rtc_peer_connection_handler.cc
+++ b/content/renderer/media/rtc_peer_connection_handler.cc
@@ -316,6 +316,41 @@ 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) {
Alexei Svitkine (slow) 2014/05/20 06:40:20 Nit: OVERRIDE
Mallinath (Gone from Chromium) 2014/05/21 19:02:18 Done.
+ UMA_HISTOGRAM_ENUMERATION("WebRTC.PeerConnectionIPMetrics",
+ counter,
+ webrtc::kBoundary);
+ }
+ virtual void AddHistogramSample(
+ webrtc::PeerConnectionUMAMetricsName type, int value) {
Alexei Svitkine (slow) 2014/05/20 06:40:20 Nit: OVERRIDE and add an empty line before this.
Mallinath (Gone from Chromium) 2014/05/21 19:02:18 Done.
+ switch (type) {
+ case webrtc::kTimeToConnect:
+ UMA_HISTOGRAM_CUSTOM_COUNTS("WebRTC.PeerConnectionTimeToConnect",
+ value,
+ 0, 100*1000, 50); // Max 100 seconds.
Alexei Svitkine (slow) 2014/05/20 06:40:20 Is there a reason you chose a custom definition he
Mallinath (Gone from Chromium) 2014/05/21 19:02:18 No reason, fact that I didn't knew such macro exis
+ break;
+ case webrtc::kNetworkInterfaces_IPv4:
+ UMA_HISTOGRAM_CUSTOM_COUNTS("WebRTC.PeerConnectionIPv4Interfaces",
+ value,
+ 0, 100, 50); // Max 100 interfaces.
Alexei Svitkine (slow) 2014/05/20 06:40:20 Can this be UMA_HISTOGRAM_COUNTS_100()? Same below
Mallinath (Gone from Chromium) 2014/05/21 19:02:18 Done.
+ break;
+ case webrtc::kNetworkInterfaces_IPv6:
+ UMA_HISTOGRAM_CUSTOM_COUNTS("WebRTC.PeerConnectionIPv6Interfaces",
+ value,
+ 0, 100, 50); // Max 100 interfaces.
+ break;
+ default:
+ NOTREACHED();
+ }
+ }
+};
+
RTCPeerConnectionHandler::RTCPeerConnectionHandler(
blink::WebRTCPeerConnectionHandlerClient* client,
PeerConnectionDependencyFactory* dependency_factory)
@@ -364,6 +399,10 @@ bool RTCPeerConnectionHandler::initialize(
peer_connection_tracker_->RegisterPeerConnection(
this, servers, constraints, frame_);
+ uma_observer_ = new talk_base::RefCountedObject<PeerConnectionUMAObserver>();
+ if (uma_observer_) {
Alexei Svitkine (slow) 2014/05/20 06:40:20 Nit: No {}'s
Mallinath (Gone from Chromium) 2014/05/21 19:02:18 Done.
+ native_peer_connection_->RegisterUMAObserver(uma_observer_.get());
+ }
return true;
}

Powered by Google App Engine
This is Rietveld 408576698