count webrtc pranswer usage

count webrtc pranswer usage for connected connections

BUG=chromium:1006079

Change-Id: I83b819f481d02ed2c71807aa10dd6fb12c8b4faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221740
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#34269}
This commit is contained in:
Philipp Hancke 2021-06-11 11:49:54 +02:00 committed by WebRTC LUCI CQ
parent b22abbc11d
commit 1b4807ff65
2 changed files with 21 additions and 0 deletions

View File

@ -202,6 +202,17 @@ enum BundlePolicyUsage {
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
};
// 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.

View File

@ -1883,6 +1883,16 @@ void PeerConnection::SetConnectionState(
configuration_.ice_candidate_pool_size, 0, 255, 256);
break;
}
// Record whether there was a local or remote provisional answer.
ProvisionalAnswerUsage pranswer = kProvisionalAnswerNotUsed;
if (local_description()->GetType() == SdpType::kPrAnswer) {
pranswer = kProvisionalAnswerLocal;
} else if (remote_description()->GetType() == SdpType::kPrAnswer) {
pranswer = kProvisionalAnswerRemote;
}
RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.ProvisionalAnswer",
pranswer, kProvisionalAnswerMax);
}
}