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:
Zach Stein
2018-12-07 12:26:28 -08:00
committed by Commit Bot
parent a59db7481c
commit 10a58016ee
3 changed files with 47 additions and 0 deletions

View File

@ -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_) {

View File

@ -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);

View 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) {