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 33ff2a29157c3db11687a98c3a73c088560bc8f9..e8a1e15243b23d3d397529c0960c26f5dace9d87 100644 |
--- a/content/renderer/media/rtc_peer_connection_handler.cc |
+++ b/content/renderer/media/rtc_peer_connection_handler.cc |
@@ -14,6 +14,7 @@ |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/metrics/histogram.h" |
+#include "base/metrics/sparse_histogram.h" |
#include "base/stl_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/thread_task_runner_handle.h" |
@@ -552,6 +553,41 @@ class PeerConnectionUMAObserver : public webrtc::UMAObserver { |
} |
} |
+ void IncrementSparseEnumCounter( |
+ webrtc::PeerConnectionEnumCounterType counter_type, |
+ int counter) override { |
+ switch (counter_type) { |
+ case webrtc::kEnumCounterAudioSrtpCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY( |
+ "WebRTC.PeerConnection.SrtpCryptoSuite.Audio", counter); |
+ break; |
+ case webrtc::kEnumCounterAudioSslCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY( |
+ "WebRTC.PeerConnection.SslCipherSuite.Audio", counter); |
+ break; |
+ case webrtc::kEnumCounterVideoSrtpCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY( |
+ "WebRTC.PeerConnection.SrtpCryptoSuite.Video", counter); |
+ break; |
+ case webrtc::kEnumCounterVideoSslCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY( |
+ "WebRTC.PeerConnection.SslCipherSuite.Video", counter); |
+ break; |
+ case webrtc::kEnumCounterDataSrtpCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY( |
+ "WebRTC.PeerConnection.SrtpCryptoSuite.Data", counter); |
+ break; |
+ case webrtc::kEnumCounterDataSslCipher: |
+ UMA_HISTOGRAM_SPARSE_SLOWLY("WebRTC.PeerConnection.SslCipherSuite.Data", |
+ counter); |
+ break; |
+ default: |
+ // The default clause is expected to reach when new enum types are |
+ // added. |
+ break; |
+ } |
+ } |
+ |
void AddHistogramSample(webrtc::PeerConnectionUMAMetricsName type, |
int value) override { |
// Runs on libjingle's signaling thread. |