mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-15 23:01:21 +01:00

This is a reland of eed5aa8904
Original change's description:
> Structured ICE logging via RtcEventLog.
>
> This change list contains the structured logging module for ICE using
> the RtcEventLog infrastructure, and also extension to the log parser
> and analyzer.
>
> Bug: None
> Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
> Reviewed-on: https://webrtc-review.googlesource.com/34622
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21816}
TBR=pthatcher@webrtc.org,terelius@webrtc.org,deadbeef@webrtc.org
Bug: None
Change-Id: I3df585bf636315ceb0273967146111346a83be86
Reviewed-on: https://webrtc-review.googlesource.com/47545
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21881}
54 lines
1.8 KiB
C++
54 lines
1.8 KiB
C++
/*
|
|
* Copyright (c) 2017 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.
|
|
*/
|
|
|
|
#include "logging/rtc_event_log/icelogger.h"
|
|
|
|
#include "logging/rtc_event_log/rtc_event_log.h"
|
|
#include "rtc_base/ptr_util.h"
|
|
|
|
namespace webrtc {
|
|
|
|
IceEventLog::IceEventLog() {}
|
|
IceEventLog::~IceEventLog() {}
|
|
|
|
bool IceEventLog::IsIceCandidatePairConfigEvent(
|
|
IceCandidatePairEventType type) {
|
|
return (type == IceCandidatePairEventType::kAdded) ||
|
|
(type == IceCandidatePairEventType::kUpdated) ||
|
|
(type == IceCandidatePairEventType::kDestroyed) ||
|
|
(type == IceCandidatePairEventType::kSelected);
|
|
}
|
|
|
|
void IceEventLog::LogCandidatePairEvent(
|
|
IceCandidatePairEventType type,
|
|
uint32_t candidate_pair_id,
|
|
const IceCandidatePairDescription& candidate_pair_desc) {
|
|
if (event_log_ == nullptr) {
|
|
return;
|
|
}
|
|
if (IsIceCandidatePairConfigEvent(type)) {
|
|
candidate_pair_desc_by_id_[candidate_pair_id] = candidate_pair_desc;
|
|
event_log_->Log(rtc::MakeUnique<RtcEventIceCandidatePairConfig>(
|
|
type, candidate_pair_id, candidate_pair_desc));
|
|
return;
|
|
}
|
|
event_log_->Log(
|
|
rtc::MakeUnique<RtcEventIceCandidatePair>(type, candidate_pair_id));
|
|
}
|
|
|
|
void IceEventLog::DumpCandidatePairDescriptionToMemoryAsConfigEvents() const {
|
|
for (const auto& desc_id_pair : candidate_pair_desc_by_id_) {
|
|
event_log_->Log(rtc::MakeUnique<RtcEventIceCandidatePairConfig>(
|
|
IceCandidatePairEventType::kUpdated, desc_id_pair.first,
|
|
desc_id_pair.second));
|
|
}
|
|
}
|
|
|
|
} // namespace webrtc
|