(Auto)update libjingle 66540208-> 66541346
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6085 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
073dfdd10a
commit
1567b8cf8c
@ -301,6 +301,7 @@ namespace webrtc {
|
||||
PeerConnection::PeerConnection(PeerConnectionFactory* factory)
|
||||
: factory_(factory),
|
||||
observer_(NULL),
|
||||
uma_observer_(NULL),
|
||||
signaling_state_(kStable),
|
||||
ice_state_(kIceNew),
|
||||
ice_connection_state_(kIceConnectionNew),
|
||||
@ -358,6 +359,12 @@ bool PeerConnection::DoInitialize(
|
||||
portallocator_flags |= cricket::PORTALLOCATOR_ENABLE_IPV6;
|
||||
}
|
||||
|
||||
if (value && uma_observer_) {
|
||||
uma_observer_->IncrementCounter(kPeerConnection_IPv6);
|
||||
} else if (!value && uma_observer_) {
|
||||
uma_observer_->IncrementCounter(kPeerConnection_IPv4);
|
||||
}
|
||||
|
||||
port_allocator_->set_flags(portallocator_flags);
|
||||
// No step delay is used while allocating ports.
|
||||
port_allocator_->set_step_delay(cricket::kMinimumStepDelay);
|
||||
@ -619,6 +626,10 @@ bool PeerConnection::AddIceCandidate(
|
||||
return session_->ProcessIceMessage(ice_candidate);
|
||||
}
|
||||
|
||||
void PeerConnection::RegisterUMAObserver(UMAObserver* observer) {
|
||||
uma_observer_ = observer;
|
||||
}
|
||||
|
||||
const SessionDescriptionInterface* PeerConnection::local_description() const {
|
||||
return session_->local_description();
|
||||
}
|
||||
|
@ -105,6 +105,8 @@ class PeerConnection : public PeerConnectionInterface,
|
||||
const PeerConnectionInterface::RTCConfiguration& config);
|
||||
virtual bool AddIceCandidate(const IceCandidateInterface* candidate);
|
||||
|
||||
virtual void RegisterUMAObserver(UMAObserver* observer);
|
||||
|
||||
virtual void Close();
|
||||
|
||||
protected:
|
||||
@ -183,6 +185,7 @@ class PeerConnection : public PeerConnectionInterface,
|
||||
// will refer to the same reference count.
|
||||
talk_base::scoped_refptr<PeerConnectionFactory> factory_;
|
||||
PeerConnectionObserver* observer_;
|
||||
UMAObserver* uma_observer_;
|
||||
SignalingState signaling_state_;
|
||||
// TODO(bemasc): Remove ice_state_.
|
||||
IceState ice_state_;
|
||||
|
@ -76,6 +76,7 @@
|
||||
#include "talk/app/webrtc/jsep.h"
|
||||
#include "talk/app/webrtc/mediastreaminterface.h"
|
||||
#include "talk/app/webrtc/statstypes.h"
|
||||
#include "talk/app/webrtc/umametrics.h"
|
||||
#include "talk/base/fileutils.h"
|
||||
#include "talk/base/socketaddress.h"
|
||||
|
||||
@ -118,6 +119,15 @@ class StatsObserver : public talk_base::RefCountInterface {
|
||||
virtual ~StatsObserver() {}
|
||||
};
|
||||
|
||||
class UMAObserver : public talk_base::RefCountInterface {
|
||||
public:
|
||||
virtual void IncrementCounter(UMAMetricsCounter type) = 0;
|
||||
virtual void AddHistogramSample(UMAMetricsName type, int value) = 0;
|
||||
|
||||
protected:
|
||||
virtual ~UMAObserver() {}
|
||||
};
|
||||
|
||||
class PeerConnectionInterface : public talk_base::RefCountInterface {
|
||||
public:
|
||||
// See http://dev.w3.org/2011/webrtc/editor/webrtc.html#state-definitions .
|
||||
@ -255,6 +265,8 @@ class PeerConnectionInterface : public talk_base::RefCountInterface {
|
||||
// take the ownership of the |candidate|.
|
||||
virtual bool AddIceCandidate(const IceCandidateInterface* candidate) = 0;
|
||||
|
||||
virtual void RegisterUMAObserver(UMAObserver* observer) = 0;
|
||||
|
||||
// Returns the current SignalingState.
|
||||
virtual SignalingState signaling_state() = 0;
|
||||
|
||||
|
@ -62,6 +62,7 @@ BEGIN_PROXY_MAP(PeerConnection)
|
||||
PROXY_METHOD2(bool, UpdateIce, const IceServers&,
|
||||
const MediaConstraintsInterface*)
|
||||
PROXY_METHOD1(bool, AddIceCandidate, const IceCandidateInterface*)
|
||||
PROXY_METHOD1(void, RegisterUMAObserver, UMAObserver*)
|
||||
PROXY_METHOD0(SignalingState, signaling_state)
|
||||
PROXY_METHOD0(IceState, ice_state)
|
||||
PROXY_METHOD0(IceConnectionState, ice_connection_state)
|
||||
|
59
talk/app/webrtc/umametrics.h
Executable file
59
talk/app/webrtc/umametrics.h
Executable file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* libjingle
|
||||
* Copyright 2014, Google Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
// This file contains enums related to IPv4/IPv6 metrics.
|
||||
|
||||
#ifndef TALK_APP_WEBRTC_UMAMETRICS_H_
|
||||
#define TALK_APP_WEBRTC_UMAMETRICS_H_
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// Currently this contains information related to WebRTC network/transport
|
||||
// information.
|
||||
|
||||
// This enum is backed by Chromium's histograms.xml,
|
||||
// chromium/src/tools/metrics/histograms/histograms.xml
|
||||
// Existing values cannot be re-ordered and new enums must be added
|
||||
// before kBoundary.
|
||||
enum UMAMetricsCounter {
|
||||
kPeerConnection_IPv4,
|
||||
kPeerConnection_IPv6,
|
||||
kBestConnections_IPv4,
|
||||
kBestConnections_IPv6,
|
||||
kBoundary,
|
||||
};
|
||||
|
||||
// This enum defines types for UMA samples, which will have a range.
|
||||
enum UMAMetricsName {
|
||||
kNetworkInterfaces_IPv4,
|
||||
kNetworkInterfaces_IPv6,
|
||||
kTimeToConnect, // In milliseconds.
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // TALK_APP_WEBRTC_UMA6METRICS_H_
|
Loading…
Reference in New Issue
Block a user