Index: webrtc/api/umametrics.h |
diff --git a/webrtc/api/umametrics.h b/webrtc/api/umametrics.h |
index 93c034f7c253d47e19c75e458048b0bf8e15f910..3e92bace12225b354aa9bd8fed464bf2746aa2a9 100644 |
--- a/webrtc/api/umametrics.h |
+++ b/webrtc/api/umametrics.h |
@@ -13,6 +13,8 @@ |
#ifndef WEBRTC_API_UMAMETRICS_H_ |
#define WEBRTC_API_UMAMETRICS_H_ |
+#include "webrtc/base/refcount.h" |
+ |
namespace webrtc { |
// Used to specify which enum counter type we're incrementing in |
@@ -109,6 +111,33 @@ enum IceCandidatePairType { |
kIceCandidatePairMax |
}; |
+class MetricsObserverInterface : public rtc::RefCountInterface { |
+ public: |
+ |
+ // |type| is the type of the enum counter to be incremented. |counter| |
+ // is the particular counter in that type. |counter_max| is the next sequence |
+ // number after the highest counter. |
+ virtual void IncrementEnumCounter(PeerConnectionEnumCounterType type, |
+ int counter, |
+ int counter_max) {} |
+ |
+ // This is used to handle sparse counters like SSL cipher suites. |
+ // TODO(guoweis): Remove the implementation once the dependency's interface |
+ // definition is updated. |
+ virtual void IncrementSparseEnumCounter(PeerConnectionEnumCounterType type, |
+ int counter) { |
+ IncrementEnumCounter(type, counter, 0 /* Ignored */); |
+ } |
+ |
+ virtual void AddHistogramSample(PeerConnectionMetricsName type, |
+ int value) = 0; |
+ |
+ protected: |
+ virtual ~MetricsObserverInterface() {} |
+}; |
+ |
+typedef MetricsObserverInterface UMAObserver; |
+ |
} // namespace webrtc |
#endif // WEBRTC_API_UMAMETRICS_H_ |