Index: talk/app/webrtc/webrtcsession.cc |
diff --git a/talk/app/webrtc/webrtcsession.cc b/talk/app/webrtc/webrtcsession.cc |
index 179d793f5a04e9bdd5155f79652f5e6e7725c6dd..b410537346e63b0c1303de4d97e27354955e3c66 100644 |
--- a/talk/app/webrtc/webrtcsession.cc |
+++ b/talk/app/webrtc/webrtcsession.cc |
@@ -88,6 +88,18 @@ const char kDtlsSetupFailureRtcp[] = |
"Couldn't set up DTLS-SRTP on RTCP channel."; |
const int kMaxUnsignalledRecvStreams = 20; |
+CryptoCipherType GetCipherType(const std::string& cipher) { |
+ if (cipher == "AES_CM_128_HMAC_SHA1_32") |
+ return CipherType_AES_CM_128_HMAC_SHA1_32; |
+ if (cipher == "AES_CM_128_HMAC_SHA1_80") |
+ return CipherType_AES_CM_128_HMAC_SHA1_80; |
+ if (cipher == "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA") |
+ return CipherType_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA; |
+ if (cipher == "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256") |
+ return CipherType_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256; |
+ return CipherType_Unknown; |
+} |
+ |
IceCandidatePairType GetIceCandidatePairCounter( |
const cricket::Candidate& local, |
const cricket::Candidate& remote) { |
@@ -2052,6 +2064,7 @@ void WebRtcSession::ReportBestConnectionState( |
} |
} |
+// Since this is reported in OnTransportCompleted |
pthatcher1
2015/09/16 03:52:30
This comment doesn't make sense to me.
guoweis_webrtc
2015/09/22 19:59:39
Done.
|
void WebRtcSession::ReportNegotiatedCiphers( |
const cricket::TransportStats& stats) { |
DCHECK(metrics_observer_ != NULL); |
@@ -2065,27 +2078,29 @@ void WebRtcSession::ReportNegotiatedCiphers( |
return; |
} |
- PeerConnectionMetricsName srtp_name; |
- PeerConnectionMetricsName ssl_name; |
+ PeerConnectionEnumCounterType srtp_counter_type; |
+ PeerConnectionEnumCounterType ssl_counter_type; |
if (stats.content_name == cricket::CN_AUDIO) { |
- srtp_name = kAudioSrtpCipher; |
- ssl_name = kAudioSslCipher; |
+ srtp_counter_type = kEnumCounterAudioSrtpCipher; |
+ ssl_counter_type = kEnumCounterAudioSslCipher; |
} else if (stats.content_name == cricket::CN_VIDEO) { |
- srtp_name = kVideoSrtpCipher; |
- ssl_name = kVideoSslCipher; |
+ srtp_counter_type = kEnumCounterVideoSrtpCipher; |
+ ssl_counter_type = kEnumCounterVideoSslCipher; |
} else if (stats.content_name == cricket::CN_DATA) { |
- srtp_name = kDataSrtpCipher; |
- ssl_name = kDataSslCipher; |
+ srtp_counter_type = kEnumCounterDataSrtpCipher; |
+ ssl_counter_type = kEnumCounterDataSslCipher; |
} else { |
RTC_NOTREACHED(); |
return; |
} |
if (!srtp_cipher.empty()) { |
- metrics_observer_->AddHistogramSample(srtp_name, srtp_cipher); |
+ metrics_observer_->IncrementEnumCounter( |
+ srtp_counter_type, GetCipherType(srtp_cipher), CipherType_Max); |
} |
if (!ssl_cipher.empty()) { |
- metrics_observer_->AddHistogramSample(ssl_name, ssl_cipher); |
+ metrics_observer_->IncrementEnumCounter( |
+ ssl_counter_type, GetCipherType(ssl_cipher), CipherType_Max); |
} |
} |