Revert "Replace the usage of MetricsObserverInterface by RTC_HISTOGRAM_*."
This reverts commit 870bca1f418a1abf445169a638a61f9a649d557f. Reason for revert: it breaks internal tests and builds Original change's description: > Replace the usage of MetricsObserverInterface by RTC_HISTOGRAM_*. > > We now use RTC_HISTOGRAM_* macros in system_wrappers/include/metrics.h > to report the metrics in pc/ and p2p/ that are currently been reported > using MetricsObserverInterface. > > TBR=tommi@webrtc.org > > Bug: webrtc:9409 > Change-Id: I47c9975402293c72250203fa1ec19eb1668766f6 > Reviewed-on: https://webrtc-review.googlesource.com/83782 > Commit-Queue: Qingsi Wang <qingsi@google.com> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Reviewed-by: Taylor (left Google) <deadbeef@webrtc.org> > Reviewed-by: Steve Anton <steveanton@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#23914} TBR=steveanton@webrtc.org,deadbeef@webrtc.org,hta@webrtc.org,tommi@webrtc.org Change-Id: I1afd92d44f3b8cf3ae9aa6e6daa9a3a272e8097f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9409 Reviewed-on: https://webrtc-review.googlesource.com/88040 Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Qingsi Wang <qingsi@google.com> Cr-Commit-Position: refs/heads/master@{#23916}
This commit is contained in:
@ -24,6 +24,7 @@
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
|
||||
#include "api/fakemetricsobserver.h"
|
||||
#include "api/mediastreaminterface.h"
|
||||
#include "api/peerconnectioninterface.h"
|
||||
#include "api/peerconnectionproxy.h"
|
||||
@ -62,7 +63,6 @@
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
#include "rtc_base/testcertificateverifier.h"
|
||||
#include "rtc_base/virtualsocketserver.h"
|
||||
#include "system_wrappers/include/metrics_default.h"
|
||||
#include "test/gmock.h"
|
||||
|
||||
using cricket::ContentInfo;
|
||||
@ -1106,7 +1106,6 @@ class PeerConnectionIntegrationBaseTest : public testing::Test {
|
||||
worker_thread_->SetName("PCWorkerThread", this);
|
||||
RTC_CHECK(network_thread_->Start());
|
||||
RTC_CHECK(worker_thread_->Start());
|
||||
webrtc::metrics::Reset();
|
||||
}
|
||||
|
||||
~PeerConnectionIntegrationBaseTest() {
|
||||
@ -1514,17 +1513,20 @@ class PeerConnectionIntegrationBaseTest : public testing::Test {
|
||||
int expected_cipher_suite) {
|
||||
ASSERT_TRUE(CreatePeerConnectionWrappersWithOptions(caller_options,
|
||||
callee_options));
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
|
||||
caller()->pc()->RegisterUMAObserver(caller_observer);
|
||||
ConnectFakeSignaling();
|
||||
caller()->AddAudioVideoTracks();
|
||||
callee()->AddAudioVideoTracks();
|
||||
caller()->CreateAndSetAndSignalOffer();
|
||||
ASSERT_TRUE_WAIT(DtlsConnected(), kDefaultTimeout);
|
||||
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
|
||||
EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(expected_cipher_suite),
|
||||
caller()->OldGetStats()->SrtpCipher(), kDefaultTimeout);
|
||||
// TODO(bugs.webrtc.org/9456): Fix it.
|
||||
EXPECT_EQ(1, webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.SrtpCryptoSuite.Audio",
|
||||
expected_cipher_suite));
|
||||
EXPECT_EQ(
|
||||
1, caller_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
|
||||
expected_cipher_suite));
|
||||
caller()->pc()->RegisterUMAObserver(nullptr);
|
||||
}
|
||||
|
||||
void TestGcmNegotiationUsesCipherSuite(bool local_gcm_enabled,
|
||||
@ -1694,6 +1696,9 @@ TEST_P(PeerConnectionIntegrationTest, DtmfSenderObserver) {
|
||||
TEST_P(PeerConnectionIntegrationTest, EndToEndCallWithDtls) {
|
||||
ASSERT_TRUE(CreatePeerConnectionWrappers());
|
||||
ConnectFakeSignaling();
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
|
||||
caller()->pc()->RegisterUMAObserver(caller_observer);
|
||||
|
||||
// Do normal offer/answer and wait for some frames to be received in each
|
||||
// direction.
|
||||
@ -1704,10 +1709,12 @@ TEST_P(PeerConnectionIntegrationTest, EndToEndCallWithDtls) {
|
||||
MediaExpectations media_expectations;
|
||||
media_expectations.ExpectBidirectionalAudioAndVideo();
|
||||
ASSERT_TRUE(ExpectNewFrames(media_expectations));
|
||||
EXPECT_LE(2, webrtc::metrics::NumEvents("WebRTC.PeerConnection.KeyProtocol",
|
||||
webrtc::kEnumCounterKeyProtocolDtls));
|
||||
EXPECT_EQ(0, webrtc::metrics::NumEvents("WebRTC.PeerConnection.KeyProtocol",
|
||||
webrtc::kEnumCounterKeyProtocolSdes));
|
||||
EXPECT_LE(
|
||||
1, caller_observer->GetEnumCounter(webrtc::kEnumCounterKeyProtocol,
|
||||
webrtc::kEnumCounterKeyProtocolDtls));
|
||||
EXPECT_EQ(
|
||||
0, caller_observer->GetEnumCounter(webrtc::kEnumCounterKeyProtocol,
|
||||
webrtc::kEnumCounterKeyProtocolSdes));
|
||||
}
|
||||
|
||||
// Uses SDES instead of DTLS for key agreement.
|
||||
@ -1716,6 +1723,9 @@ TEST_P(PeerConnectionIntegrationTest, EndToEndCallWithSdes) {
|
||||
sdes_config.enable_dtls_srtp.emplace(false);
|
||||
ASSERT_TRUE(CreatePeerConnectionWrappersWithConfig(sdes_config, sdes_config));
|
||||
ConnectFakeSignaling();
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
|
||||
caller()->pc()->RegisterUMAObserver(caller_observer);
|
||||
|
||||
// Do normal offer/answer and wait for some frames to be received in each
|
||||
// direction.
|
||||
@ -1726,10 +1736,12 @@ TEST_P(PeerConnectionIntegrationTest, EndToEndCallWithSdes) {
|
||||
MediaExpectations media_expectations;
|
||||
media_expectations.ExpectBidirectionalAudioAndVideo();
|
||||
ASSERT_TRUE(ExpectNewFrames(media_expectations));
|
||||
EXPECT_LE(2, webrtc::metrics::NumEvents("WebRTC.PeerConnection.KeyProtocol",
|
||||
webrtc::kEnumCounterKeyProtocolSdes));
|
||||
EXPECT_EQ(0, webrtc::metrics::NumEvents("WebRTC.PeerConnection.KeyProtocol",
|
||||
webrtc::kEnumCounterKeyProtocolDtls));
|
||||
EXPECT_LE(
|
||||
1, caller_observer->GetEnumCounter(webrtc::kEnumCounterKeyProtocol,
|
||||
webrtc::kEnumCounterKeyProtocolSdes));
|
||||
EXPECT_EQ(
|
||||
0, caller_observer->GetEnumCounter(webrtc::kEnumCounterKeyProtocol,
|
||||
webrtc::kEnumCounterKeyProtocolDtls));
|
||||
}
|
||||
|
||||
// Tests that the GetRemoteAudioSSLCertificate method returns the remote DTLS
|
||||
@ -2731,19 +2743,22 @@ TEST_P(PeerConnectionIntegrationTest, Dtls10CipherStatsAndUmaMetrics) {
|
||||
ASSERT_TRUE(CreatePeerConnectionWrappersWithOptions(dtls_10_options,
|
||||
dtls_10_options));
|
||||
ConnectFakeSignaling();
|
||||
// Register UMA observer before signaling begins.
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
|
||||
caller()->pc()->RegisterUMAObserver(caller_observer);
|
||||
caller()->AddAudioVideoTracks();
|
||||
callee()->AddAudioVideoTracks();
|
||||
caller()->CreateAndSetAndSignalOffer();
|
||||
ASSERT_TRUE_WAIT(DtlsConnected(), kDefaultTimeout);
|
||||
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
|
||||
EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
|
||||
caller()->OldGetStats()->DtlsCipher(), rtc::KT_DEFAULT),
|
||||
kDefaultTimeout);
|
||||
EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
|
||||
caller()->OldGetStats()->SrtpCipher(), kDefaultTimeout);
|
||||
// TODO(bugs.webrtc.org/9456): Fix it.
|
||||
EXPECT_EQ(1, webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.SrtpCryptoSuite.Audio",
|
||||
kDefaultSrtpCryptoSuite));
|
||||
EXPECT_EQ(1,
|
||||
caller_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
|
||||
kDefaultSrtpCryptoSuite));
|
||||
}
|
||||
|
||||
// Test getting cipher stats and UMA metrics when DTLS 1.2 is negotiated.
|
||||
@ -2753,19 +2768,22 @@ TEST_P(PeerConnectionIntegrationTest, Dtls12CipherStatsAndUmaMetrics) {
|
||||
ASSERT_TRUE(CreatePeerConnectionWrappersWithOptions(dtls_12_options,
|
||||
dtls_12_options));
|
||||
ConnectFakeSignaling();
|
||||
// Register UMA observer before signaling begins.
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
|
||||
caller()->pc()->RegisterUMAObserver(caller_observer);
|
||||
caller()->AddAudioVideoTracks();
|
||||
callee()->AddAudioVideoTracks();
|
||||
caller()->CreateAndSetAndSignalOffer();
|
||||
ASSERT_TRUE_WAIT(DtlsConnected(), kDefaultTimeout);
|
||||
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
|
||||
EXPECT_TRUE_WAIT(rtc::SSLStreamAdapter::IsAcceptableCipher(
|
||||
caller()->OldGetStats()->DtlsCipher(), rtc::KT_DEFAULT),
|
||||
kDefaultTimeout);
|
||||
EXPECT_EQ_WAIT(rtc::SrtpCryptoSuiteToName(kDefaultSrtpCryptoSuite),
|
||||
caller()->OldGetStats()->SrtpCipher(), kDefaultTimeout);
|
||||
// TODO(bugs.webrtc.org/9456): Fix it.
|
||||
EXPECT_EQ(1, webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.SrtpCryptoSuite.Audio",
|
||||
kDefaultSrtpCryptoSuite));
|
||||
EXPECT_EQ(1,
|
||||
caller_observer->GetEnumCounter(webrtc::kEnumCounterAudioSrtpCipher,
|
||||
kDefaultSrtpCryptoSuite));
|
||||
}
|
||||
|
||||
// Test that DTLS 1.0 can be used if the caller supports DTLS 1.2 and the
|
||||
@ -3484,15 +3502,19 @@ TEST_P(PeerConnectionIntegrationIceStatesTest, VerifyBestConnection) {
|
||||
SetUpNetworkInterfaces();
|
||||
caller()->AddAudioVideoTracks();
|
||||
callee()->AddAudioVideoTracks();
|
||||
|
||||
rtc::scoped_refptr<webrtc::FakeMetricsObserver> metrics_observer(
|
||||
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>());
|
||||
caller()->pc()->RegisterUMAObserver(metrics_observer.get());
|
||||
|
||||
caller()->CreateAndSetAndSignalOffer();
|
||||
|
||||
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
|
||||
|
||||
// TODO(bugs.webrtc.org/9456): Fix it.
|
||||
const int num_best_ipv4 = webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.IPMetrics", webrtc::kBestConnections_IPv4);
|
||||
const int num_best_ipv6 = webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.IPMetrics", webrtc::kBestConnections_IPv6);
|
||||
const int num_best_ipv4 = metrics_observer->GetEnumCounter(
|
||||
webrtc::kEnumCounterAddressFamily, webrtc::kBestConnections_IPv4);
|
||||
const int num_best_ipv6 = metrics_observer->GetEnumCounter(
|
||||
webrtc::kEnumCounterAddressFamily, webrtc::kBestConnections_IPv6);
|
||||
if (TestIPv6()) {
|
||||
// When IPv6 is enabled, we should prefer an IPv6 connection over an IPv4
|
||||
// connection.
|
||||
@ -3503,12 +3525,12 @@ TEST_P(PeerConnectionIntegrationIceStatesTest, VerifyBestConnection) {
|
||||
EXPECT_EQ(0, num_best_ipv6);
|
||||
}
|
||||
|
||||
EXPECT_EQ(0, webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.CandidatePairType_UDP",
|
||||
webrtc::kIceCandidatePairHostHost));
|
||||
EXPECT_EQ(1, webrtc::metrics::NumEvents(
|
||||
"WebRTC.PeerConnection.CandidatePairType_UDP",
|
||||
webrtc::kIceCandidatePairHostPublicHostPublic));
|
||||
EXPECT_EQ(0, metrics_observer->GetEnumCounter(
|
||||
webrtc::kEnumCounterIceCandidatePairTypeUdp,
|
||||
webrtc::kIceCandidatePairHostHost));
|
||||
EXPECT_EQ(1, metrics_observer->GetEnumCounter(
|
||||
webrtc::kEnumCounterIceCandidatePairTypeUdp,
|
||||
webrtc::kIceCandidatePairHostPublicHostPublic));
|
||||
}
|
||||
|
||||
constexpr uint32_t kFlagsIPv4NoStun = cricket::PORTALLOCATOR_DISABLE_TCP |
|
||||
|
||||
Reference in New Issue
Block a user