webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
Public Member Functions | |
def | __init__ (self, data_points) |
def | print_header_statistics (self) |
def | print_ssrc_info (self, ssrc_id, ssrc) |
def | choose_ssrc (self) |
def | filter_ssrc (self, chosen_ssrc) |
def | print_sequence_number_statistics (self) |
def | estimate_frequency (self, always_query_sample_rate) |
def | print_duration_statistics (self) |
def | remove_reordered (self) |
def | compute_bandwidth (self) |
def | plot_statistics (self) |
Public Attributes | |
data_points | |
ssrc_frequencies | |
ssrc_size_table | |
bandwidth_kbps | |
smooth_bw_kbps | |
Static Public Attributes | |
int | BANDWIDTH_SMOOTHING_WINDOW_SIZE = 10 |
int | PLOT_RESOLUTION_MS = 50 |
Has methods for calculating and plotting RTP stream statistics.
def rtp_analyzer.RTPStatistics.__init__ | ( | self, | |
data_points | |||
) |
Initializes object with data_points and computes simple statistics. Computes percentages of number of packets and packet sizes by SSRC. Args: data_points: list of pb_parse.DataPoints on which statistics are calculated.
def rtp_analyzer.RTPStatistics.choose_ssrc | ( | self | ) |
Queries user for SSRC.
def rtp_analyzer.RTPStatistics.compute_bandwidth | ( | self | ) |
Computes bandwidth averaged over several consecutive packets. The number of consecutive packets used in the average is BANDWIDTH_SMOOTHING_WINDOW_SIZE. Averaging is done with numpy.correlate.
def rtp_analyzer.RTPStatistics.estimate_frequency | ( | self, | |
always_query_sample_rate | |||
) |
Estimates frequency and updates data. Guesses the most probable frequency by looking at changes in timestamps (RFC 3550 section 5.1), calculates clock drifts and sending time of packets. Updates `self.data_points` with changes in delay and send time.
def rtp_analyzer.RTPStatistics.filter_ssrc | ( | self, | |
chosen_ssrc | |||
) |
Filters and wraps data points. Removes data points with `ssrc != chosen_ssrc`. Unwraps sequence numbers and timestamps for the chosen selection.
def rtp_analyzer.RTPStatistics.plot_statistics | ( | self | ) |
Plots changes in delay and average bandwidth.
def rtp_analyzer.RTPStatistics.print_duration_statistics | ( | self | ) |
Prints delay, clock drift and bitrate statistics.
def rtp_analyzer.RTPStatistics.print_header_statistics | ( | self | ) |
def rtp_analyzer.RTPStatistics.print_sequence_number_statistics | ( | self | ) |
def rtp_analyzer.RTPStatistics.print_ssrc_info | ( | self, | |
ssrc_id, | |||
ssrc | |||
) |
Prints packet and size statistics for a given SSRC. Args: ssrc_id: textual identifier of SSRC printed beside statistics for it. ssrc: SSRC by which to filter data and display statistics
def rtp_analyzer.RTPStatistics.remove_reordered | ( | self | ) |
rtp_analyzer.RTPStatistics.bandwidth_kbps |
|
static |
rtp_analyzer.RTPStatistics.data_points |
|
static |
rtp_analyzer.RTPStatistics.smooth_bw_kbps |
rtp_analyzer.RTPStatistics.ssrc_frequencies |
rtp_analyzer.RTPStatistics.ssrc_size_table |