Output plots for new DTLS events.
Bug: webrtc:10101 Change-Id: Ida8084549bc386b91fec468026c3f4a261a4ef50 Reviewed-on: https://webrtc-review.googlesource.com/c/113462 Commit-Queue: Zach Stein <zstein@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25941}
This commit is contained in:
@ -1979,6 +1979,37 @@ void EventLogAnalyzer::CreateIceConnectivityCheckGraph(Plot* plot) {
|
|||||||
plot->SetTitle("[IceEventLog] ICE connectivity checks");
|
plot->SetTitle("[IceEventLog] ICE connectivity checks");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EventLogAnalyzer::CreateDtlsTransportStateGraph(Plot* plot) {
|
||||||
|
TimeSeries states("DTLS Transport State", LineStyle::kNone,
|
||||||
|
PointStyle::kHighlight);
|
||||||
|
for (const auto& event : parsed_log_.dtls_transport_states()) {
|
||||||
|
float x = ToCallTimeSec(event.log_time_us());
|
||||||
|
float y = static_cast<float>(event.dtls_transport_state);
|
||||||
|
states.points.emplace_back(x, y);
|
||||||
|
}
|
||||||
|
plot->AppendTimeSeries(std::move(states));
|
||||||
|
plot->SetXAxis(ToCallTimeSec(begin_time_), call_duration_s_, "Time (s)",
|
||||||
|
kLeftMargin, kRightMargin);
|
||||||
|
plot->SetSuggestedYAxis(0, static_cast<float>(DtlsTransportState::kNumValues),
|
||||||
|
"Numeric Transport State", kBottomMargin, kTopMargin);
|
||||||
|
plot->SetTitle("DTLS Transport State");
|
||||||
|
}
|
||||||
|
|
||||||
|
void EventLogAnalyzer::CreateDtlsWritableStateGraph(Plot* plot) {
|
||||||
|
TimeSeries writable("DTLS Writable", LineStyle::kNone,
|
||||||
|
PointStyle::kHighlight);
|
||||||
|
for (const auto& event : parsed_log_.dtls_writable_states()) {
|
||||||
|
float x = ToCallTimeSec(event.log_time_us());
|
||||||
|
float y = static_cast<float>(event.writable);
|
||||||
|
writable.points.emplace_back(x, y);
|
||||||
|
}
|
||||||
|
plot->AppendTimeSeries(std::move(writable));
|
||||||
|
plot->SetXAxis(ToCallTimeSec(begin_time_), call_duration_s_, "Time (s)",
|
||||||
|
kLeftMargin, kRightMargin);
|
||||||
|
plot->SetSuggestedYAxis(0, 1, "Writable", kBottomMargin, kTopMargin);
|
||||||
|
plot->SetTitle("DTLS Writable State");
|
||||||
|
}
|
||||||
|
|
||||||
void EventLogAnalyzer::PrintNotifications(FILE* file) {
|
void EventLogAnalyzer::PrintNotifications(FILE* file) {
|
||||||
fprintf(file, "========== TRIAGE NOTIFICATIONS ==========\n");
|
fprintf(file, "========== TRIAGE NOTIFICATIONS ==========\n");
|
||||||
for (const auto& alert : incoming_rtp_recv_time_gaps_) {
|
for (const auto& alert : incoming_rtp_recv_time_gaps_) {
|
||||||
|
@ -99,6 +99,9 @@ class EventLogAnalyzer {
|
|||||||
void CreateIceCandidatePairConfigGraph(Plot* plot);
|
void CreateIceCandidatePairConfigGraph(Plot* plot);
|
||||||
void CreateIceConnectivityCheckGraph(Plot* plot);
|
void CreateIceConnectivityCheckGraph(Plot* plot);
|
||||||
|
|
||||||
|
void CreateDtlsTransportStateGraph(Plot* plot);
|
||||||
|
void CreateDtlsWritableStateGraph(Plot* plot);
|
||||||
|
|
||||||
void CreateTriageNotifications();
|
void CreateTriageNotifications();
|
||||||
void PrintNotifications(FILE* file);
|
void PrintNotifications(FILE* file);
|
||||||
|
|
||||||
|
@ -151,6 +151,12 @@ WEBRTC_DEFINE_bool(plot_ice_candidate_pair_config,
|
|||||||
WEBRTC_DEFINE_bool(plot_ice_connectivity_check,
|
WEBRTC_DEFINE_bool(plot_ice_connectivity_check,
|
||||||
false,
|
false,
|
||||||
"Plot the ICE candidate pair connectivity checks.");
|
"Plot the ICE candidate pair connectivity checks.");
|
||||||
|
WEBRTC_DEFINE_bool(plot_dtls_transport_state,
|
||||||
|
false,
|
||||||
|
"Plot DTLS transport state changes.");
|
||||||
|
WEBRTC_DEFINE_bool(plot_dtls_writable_state,
|
||||||
|
false,
|
||||||
|
"Plot DTLS writable state changes.");
|
||||||
|
|
||||||
WEBRTC_DEFINE_string(
|
WEBRTC_DEFINE_string(
|
||||||
force_fieldtrials,
|
force_fieldtrials,
|
||||||
@ -469,6 +475,13 @@ int main(int argc, char* argv[]) {
|
|||||||
analyzer.CreateIceConnectivityCheckGraph(collection->AppendNewPlot());
|
analyzer.CreateIceConnectivityCheckGraph(collection->AppendNewPlot());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (FLAG_plot_dtls_transport_state) {
|
||||||
|
analyzer.CreateDtlsTransportStateGraph(collection->AppendNewPlot());
|
||||||
|
}
|
||||||
|
if (FLAG_plot_dtls_writable_state) {
|
||||||
|
analyzer.CreateDtlsWritableStateGraph(collection->AppendNewPlot());
|
||||||
|
}
|
||||||
|
|
||||||
collection->Draw();
|
collection->Draw();
|
||||||
|
|
||||||
if (FLAG_print_triage_alerts) {
|
if (FLAG_print_triage_alerts) {
|
||||||
|
Reference in New Issue
Block a user