Add UMA metrics for ICE regathering reasons.
BUG=webrtc:6462
R=deadbeef@webrtc.org
Review URL: https://codereview.webrtc.org/2386783002 .
Cr-Original-Commit-Position: refs/heads/master@{#14531}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: d93f50cd5754ae20a97c8ed1d0469b912c0b05af
diff --git a/api/fakemetricsobserver.cc b/api/fakemetricsobserver.cc
index 71e71b3..1b6265d 100644
--- a/api/fakemetricsobserver.cc
+++ b/api/fakemetricsobserver.cc
@@ -45,7 +45,9 @@
int FakeMetricsObserver::GetEnumCounter(PeerConnectionEnumCounterType type,
int counter) const {
RTC_DCHECK(thread_checker_.CalledOnValidThread());
- RTC_CHECK(counters_.size() > static_cast<size_t>(type));
+ if (counters_.size() <= static_cast<size_t>(type)) {
+ return 0;
+ }
const auto& it = counters_[type].find(counter);
if (it == counters_[type].end()) {
return 0;
diff --git a/api/peerconnection.cc b/api/peerconnection.cc
index 144b1c6..7cc5d00 100644
--- a/api/peerconnection.cc
+++ b/api/peerconnection.cc
@@ -1300,6 +1300,7 @@
// Send information about IPv4/IPv6 status.
if (uma_observer_ && port_allocator_) {
+ port_allocator_->SetMetricsObserver(uma_observer_);
if (port_allocator_->flags() & cricket::PORTALLOCATOR_ENABLE_IPV6) {
uma_observer_->IncrementEnumCounter(
kEnumCounterAddressFamily, kPeerConnection_IPv6,
diff --git a/api/umametrics.h b/api/umametrics.h
index 8dbfa22..93c034f 100644
--- a/api/umametrics.h
+++ b/api/umametrics.h
@@ -33,6 +33,8 @@
kEnumCounterDataSrtpCipher,
kEnumCounterDataSslCipher,
kEnumCounterDtlsHandshakeError,
+ kEnumCounterIceRegathering,
+ kEnumCounterIceRestart,
kPeerConnectionEnumCounterMax
};
diff --git a/api/webrtcsession.h b/api/webrtcsession.h
index c62ea99..94f146f 100644
--- a/api/webrtcsession.h
+++ b/api/webrtcsession.h
@@ -293,6 +293,7 @@
void set_metrics_observer(
webrtc::MetricsObserverInterface* metrics_observer) {
metrics_observer_ = metrics_observer;
+ transport_controller_->SetMetricsObserver(metrics_observer);
}
// Called when voice_channel_, video_channel_ and data_channel_ are created