Repo created
This commit is contained in:
parent
81b91f4139
commit
f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions
184
TMessagesProj/jni/voip/webrtc/api/uma_metrics.h
Normal file
184
TMessagesProj/jni/voip/webrtc/api/uma_metrics.h
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
/*
|
||||
* Copyright 2014 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
// This file contains enums related to Chrome UMA histograms. See
|
||||
// https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#requirements
|
||||
// for requirements when adding or changing metrics.
|
||||
|
||||
#ifndef API_UMA_METRICS_H_
|
||||
#define API_UMA_METRICS_H_
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum PeerConnectionAddressFamilyCounter {
|
||||
kPeerConnection_IPv4 = 0,
|
||||
kPeerConnection_IPv6 = 1,
|
||||
kBestConnections_IPv4 = 2,
|
||||
kBestConnections_IPv6 = 3,
|
||||
kPeerConnectionAddressFamilyCounter_Max
|
||||
};
|
||||
|
||||
// This enum defines types for UMA samples, which will have a range.
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum PeerConnectionMetricsName {
|
||||
kNetworkInterfaces_IPv4 = 0, // Number of IPv4 interfaces.
|
||||
kNetworkInterfaces_IPv6 = 1, // Number of IPv6 interfaces.
|
||||
kTimeToConnect = 2, // In milliseconds.
|
||||
kLocalCandidates_IPv4 = 3, // Number of IPv4 local candidates.
|
||||
kLocalCandidates_IPv6 = 4, // Number of IPv6 local candidates.
|
||||
kPeerConnectionMetricsName_Max
|
||||
};
|
||||
|
||||
// The IceCandidatePairType has the format of
|
||||
// <local_candidate_type>_<remote_candidate_type>. It is recorded based on the
|
||||
// type of candidate pair used when the PeerConnection first goes to a completed
|
||||
// state. When BUNDLE is enabled, only the first transport gets recorded.
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum IceCandidatePairType {
|
||||
// HostHost is deprecated. It was replaced with the set of types at the bottom
|
||||
// to report private or public host IP address.
|
||||
kIceCandidatePairHostHost = 0,
|
||||
kIceCandidatePairHostSrflx = 1,
|
||||
kIceCandidatePairHostRelay = 2,
|
||||
kIceCandidatePairHostPrflx = 3,
|
||||
kIceCandidatePairSrflxHost = 4,
|
||||
kIceCandidatePairSrflxSrflx = 5,
|
||||
kIceCandidatePairSrflxRelay = 6,
|
||||
kIceCandidatePairSrflxPrflx = 7,
|
||||
kIceCandidatePairRelayHost = 8,
|
||||
kIceCandidatePairRelaySrflx = 9,
|
||||
kIceCandidatePairRelayRelay = 10,
|
||||
kIceCandidatePairRelayPrflx = 11,
|
||||
kIceCandidatePairPrflxHost = 12,
|
||||
kIceCandidatePairPrflxSrflx = 13,
|
||||
kIceCandidatePairPrflxRelay = 14,
|
||||
|
||||
// The following 9 types tell whether local and remote hosts have hostname,
|
||||
// private or public IP addresses.
|
||||
kIceCandidatePairHostPrivateHostPrivate = 15,
|
||||
kIceCandidatePairHostPrivateHostPublic = 16,
|
||||
kIceCandidatePairHostPublicHostPrivate = 17,
|
||||
kIceCandidatePairHostPublicHostPublic = 18,
|
||||
kIceCandidatePairHostNameHostName = 19,
|
||||
kIceCandidatePairHostNameHostPrivate = 20,
|
||||
kIceCandidatePairHostNameHostPublic = 21,
|
||||
kIceCandidatePairHostPrivateHostName = 22,
|
||||
kIceCandidatePairHostPublicHostName = 23,
|
||||
kIceCandidatePairMax
|
||||
};
|
||||
|
||||
// The difference between PeerConnectionEnumCounter and
|
||||
// PeerConnectionMetricsName is that the "EnumCounter" is only counting the
|
||||
// occurrences of events, while "Name" has a value associated with it which is
|
||||
// used to form a histogram.
|
||||
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum KeyExchangeProtocolMedia {
|
||||
kEnumCounterKeyProtocolMediaTypeDtlsAudio = 0,
|
||||
kEnumCounterKeyProtocolMediaTypeDtlsVideo = 1,
|
||||
kEnumCounterKeyProtocolMediaTypeDtlsData = 2,
|
||||
kEnumCounterKeyProtocolMediaTypeSdesAudio = 3,
|
||||
kEnumCounterKeyProtocolMediaTypeSdesVideo = 4,
|
||||
kEnumCounterKeyProtocolMediaTypeSdesData = 5,
|
||||
kEnumCounterKeyProtocolMediaTypeMax
|
||||
};
|
||||
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum SdpSemanticRequested {
|
||||
kSdpSemanticRequestDefault = 0,
|
||||
kSdpSemanticRequestPlanB = 1,
|
||||
kSdpSemanticRequestUnifiedPlan = 2,
|
||||
kSdpSemanticRequestMax
|
||||
};
|
||||
|
||||
// Metric for counting the outcome of adding an ICE candidate
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum AddIceCandidateResult {
|
||||
kAddIceCandidateSuccess = 0,
|
||||
kAddIceCandidateFailClosed = 1,
|
||||
kAddIceCandidateFailNoRemoteDescription = 2,
|
||||
kAddIceCandidateFailNullCandidate = 3,
|
||||
kAddIceCandidateFailNotValid = 4,
|
||||
kAddIceCandidateFailNotReady = 5,
|
||||
kAddIceCandidateFailInAddition = 6,
|
||||
kAddIceCandidateFailNotUsable = 7,
|
||||
kAddIceCandidateMax
|
||||
};
|
||||
|
||||
// Metrics for reporting usage of BUNDLE.
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum BundleUsage {
|
||||
// There are no m-lines in the SDP, only a session description.
|
||||
kBundleUsageEmpty = 0,
|
||||
// Only a data channel is negotiated but BUNDLE is not negotiated.
|
||||
kBundleUsageNoBundleDatachannelOnly = 1,
|
||||
// BUNDLE is not negotiated and there is at most one m-line per media type,
|
||||
kBundleUsageNoBundleSimple = 2,
|
||||
// BUNDLE is not negotiated and there are multiple m-lines per media type,
|
||||
kBundleUsageNoBundleComplex = 3,
|
||||
// Only a data channel is negotiated and BUNDLE is negotiated.
|
||||
kBundleUsageBundleDatachannelOnly = 4,
|
||||
// BUNDLE is negotiated but there is at most one m-line per media type,
|
||||
kBundleUsageBundleSimple = 5,
|
||||
// BUNDLE is negotiated and there are multiple m-lines per media type,
|
||||
kBundleUsageBundleComplex = 6,
|
||||
// Legacy plan-b metrics.
|
||||
kBundleUsageNoBundlePlanB = 7,
|
||||
kBundleUsageBundlePlanB = 8,
|
||||
kBundleUsageMax
|
||||
};
|
||||
|
||||
// Metrics for reporting configured BUNDLE policy, mapping directly to
|
||||
// https://w3c.github.io/webrtc-pc/#rtcbundlepolicy-enum
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum BundlePolicyUsage {
|
||||
kBundlePolicyUsageBalanced = 0,
|
||||
kBundlePolicyUsageMaxBundle = 1,
|
||||
kBundlePolicyUsageMaxCompat = 2,
|
||||
kBundlePolicyUsageMax
|
||||
};
|
||||
|
||||
// Metrics for provisional answers as described in
|
||||
// https://datatracker.ietf.org/doc/html/rfc8829#section-4.1.10.1
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum ProvisionalAnswerUsage {
|
||||
kProvisionalAnswerNotUsed = 0,
|
||||
kProvisionalAnswerLocal = 1,
|
||||
kProvisionalAnswerRemote = 2,
|
||||
kProvisionalAnswerMax
|
||||
};
|
||||
|
||||
// Metrics for RTCRtpMuxPolicy. The only defined value is
|
||||
// https://w3c.github.io/webrtc-pc/#rtcrtcpmuxpolicy-enum
|
||||
// "require" but there is a legacy option "negotiate" which
|
||||
// was removed from the spec.
|
||||
enum RtcpMuxPolicyUsage {
|
||||
kRtcpMuxPolicyUsageRequire = 0,
|
||||
kRtcpMuxPolicyUsageNegotiate = 1,
|
||||
kRtcpMuxPolicyUsageMax
|
||||
};
|
||||
|
||||
// When adding new metrics please consider using the style described in
|
||||
// https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#usage
|
||||
// instead of the legacy enums used above.
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_UMA_METRICS_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue