def generate_stats(self): return OrderedDict([("connection", "{host}, Port {port}".format(host=self.connection_info.get("server"), port=self.connection_info.get("sync_port"))), ("version", "{ver}, UUID: {uuid}".format(ver=self.server_version.get("version", "N/A"), uuid="N/A")), ("cpu_util", u"{0}% {1}".format( format_threshold(self.get("m_cpu_util"), [85, 100], [0, 85]), self.get_trend_gui("m_cpu_util", use_raw = True))), (" ", ""), ("total_tx", u"{0} {1}".format( self.get("m_tx_bps", format=True, suffix="b/sec"), self.get_trend_gui("m_tx_bps"))), ("total_rx", u"{0} {1}".format( self.get("m_rx_bps", format=True, suffix="b/sec"), self.get_trend_gui("m_rx_bps"))), ("total_pps", u"{0} {1}".format( self.get("m_tx_pps", format=True, suffix="pkt/sec"), self.get_trend_gui("m_tx_pps"))), (" ", ""), ("drop_rate", "{0}".format( format_num(self.get("m_rx_drop_bps"), suffix = 'b/sec', opts = 'green' if (self.get("m_rx_drop_bps")== 0) else 'red'))), ("queue_full", "{0}".format( format_num(self.get_rel("m_total_queue_full"), suffix = 'pkts', compact = False, opts = 'green' if (self.get_rel("m_total_queue_full")== 0) else 'red'))), ] )
def generate_stats(self): return OrderedDict([ ("connection", "{host}, Port {port}".format( host=self.connection_info.get("server"), port=self.connection_info.get("sync_port"))), ("version", "{ver}, UUID: {uuid}".format( ver=self.server_version.get("version", "N/A"), uuid="N/A")), ("cpu_util", u"{0}% {1}".format( format_threshold(self.get("m_cpu_util"), [85, 100], [0, 85]), self.get_trend_gui("m_cpu_util", use_raw=True))), (" ", ""), ("total_tx", u"{0} {1}".format( self.get("m_tx_bps", format=True, suffix="b/sec"), self.get_trend_gui("m_tx_bps"))), ("total_rx", u"{0} {1}".format( self.get("m_rx_bps", format=True, suffix="b/sec"), self.get_trend_gui("m_rx_bps"))), ("total_pps", u"{0} {1}".format( self.get("m_tx_pps", format=True, suffix="pkt/sec"), self.get_trend_gui("m_tx_pps"))), (" ", ""), ("drop_rate", "{0}".format( format_num(self.get("m_rx_drop_bps"), suffix='b/sec', opts='green' if (self.get("m_rx_drop_bps") == 0) else 'red'))), ("queue_full", "{0}".format( format_num( self.get_rel("m_total_queue_full"), suffix='pkts', compact=False, opts='green' if (self.get_rel("m_total_queue_full") == 0) else 'red'))), ])
def generate_stats(self): state = self._port_obj.get_port_state_name() if self._port_obj else "" if state == "ACTIVE": state = format_text(state, 'green', 'bold') elif state == "PAUSE": state = format_text(state, 'magenta', 'bold') else: state = format_text(state, 'bold') return {"owner": self._port_obj.user if self._port_obj else "", "state": "{0}".format(state), "--": " ", "---": " ", "----": " ", "-----": " ", "Tx bps L1": u"{0} {1}".format(self.get_trend_gui("m_total_tx_bps_L1", show_value = False), self.get("m_total_tx_bps_L1", format = True, suffix = "bps")), "Tx bps L2": u"{0} {1}".format(self.get_trend_gui("m_total_tx_bps", show_value = False), self.get("m_total_tx_bps", format = True, suffix = "bps")), "Line Util.": u"{0} {1}".format(self.get_trend_gui("m_percentage", show_value = False), format_text( self.get("m_percentage", format = True, suffix = "%") if self._port_obj else "", 'bold')), "Rx bps": u"{0} {1}".format(self.get_trend_gui("m_total_rx_bps", show_value = False), self.get("m_total_rx_bps", format = True, suffix = "bps")), "Tx pps": u"{0} {1}".format(self.get_trend_gui("m_total_tx_pps", show_value = False), self.get("m_total_tx_pps", format = True, suffix = "pps")), "Rx pps": u"{0} {1}".format(self.get_trend_gui("m_total_rx_pps", show_value = False), self.get("m_total_rx_pps", format = True, suffix = "pps")), "opackets" : self.get_rel("opackets"), "ipackets" : self.get_rel("ipackets"), "obytes" : self.get_rel("obytes"), "ibytes" : self.get_rel("ibytes"), "tx-bytes": self.get_rel("obytes", format = True, suffix = "B"), "rx-bytes": self.get_rel("ibytes", format = True, suffix = "B"), "tx-pkts": self.get_rel("opackets", format = True, suffix = "pkts"), "rx-pkts": self.get_rel("ipackets", format = True, suffix = "pkts"), "oerrors" : format_num(self.get_rel("oerrors"), compact = False, opts = 'green' if (self.get_rel("oerrors")== 0) else 'red'), "ierrors" : format_num(self.get_rel("ierrors"), compact = False, opts = 'green' if (self.get_rel("ierrors")== 0) else 'red'), }
def generate_stats(self): state = self._port_obj.get_port_state_name() if self._port_obj else "" if state == "ACTIVE": state = format_text(state, 'green', 'bold') elif state == "PAUSE": state = format_text(state, 'magenta', 'bold') else: state = format_text(state, 'bold') return {"owner": self._port_obj.user if self._port_obj else "", "state": "{0}".format(state), "--": " ", "---": " ", "----": " ", "-----": " ", "Tx bps L1": u"{0} {1}".format(self.get_trend_gui("m_total_tx_bps_L1", show_value = False), self.get("m_total_tx_bps_L1", format = True, suffix = "bps")), "Tx bps L2": u"{0} {1}".format(self.get_trend_gui("m_total_tx_bps", show_value = False), self.get("m_total_tx_bps", format = True, suffix = "bps")), "Line Util.": u"{0} {1}".format(self.get_trend_gui("m_percentage", show_value = False), format_text( self.get("m_percentage", format = True, suffix = "%") if self._port_obj else "", 'bold')), "Rx bps": u"{0} {1}".format(self.get_trend_gui("m_total_rx_bps", show_value = False), self.get("m_total_rx_bps", format = True, suffix = "bps")), "Tx pps": u"{0} {1}".format(self.get_trend_gui("m_total_tx_pps", show_value = False), self.get("m_total_tx_pps", format = True, suffix = "pps")), "Rx pps": u"{0} {1}".format(self.get_trend_gui("m_total_rx_pps", show_value = False), self.get("m_total_rx_pps", format = True, suffix = "pps")), "opackets" : self.get_rel("opackets"), "ipackets" : self.get_rel("ipackets"), "obytes" : self.get_rel("obytes"), "ibytes" : self.get_rel("ibytes"), "tx-bytes": self.get_rel("obytes", format = True, suffix = "B"), "rx-bytes": self.get_rel("ibytes", format = True, suffix = "B"), "tx-pkts": self.get_rel("opackets", format = True, suffix = "pkts"), "rx-pkts": self.get_rel("ipackets", format = True, suffix = "pkts"), "oerrors" : format_num(self.get_rel("oerrors"), compact = False, opts = 'green' if (self.get_rel("oerrors")== 0) else 'red'), "ierrors" : format_num(self.get_rel("ierrors"), compact = False, opts = 'green' if (self.get_rel("ierrors")== 0) else 'red'), }
def get(self, field, format=False, suffix=""): if not field in self.latest_stats: return "N/A" if not format: return self.latest_stats[field] else: return format_num(self.latest_stats[field], suffix)
def get(self, field, format=False, suffix=""): if not field in self.latest_stats: return "N/A" if not format: return self.latest_stats[field] else: return format_num(self.latest_stats[field], suffix)
def _generate_single_port_streams_info(self, port_obj, stream_id_list): return_streams_data = port_obj.generate_loaded_streams_sum(stream_id_list) if not return_streams_data.get("streams"): # we got no streams available return None # FORMAT VALUES ON DEMAND # because we mutate this - deep copy before return_streams_data = copy.deepcopy(return_streams_data) for stream_id, stream_id_sum in return_streams_data['streams'].iteritems(): stream_id_sum['rate_pps'] = format_num(stream_id_sum['rate_pps'], suffix='pps') stream_id_sum['packet_type'] = self._trim_packet_headers(stream_id_sum['packet_type'], 20) info_table = text_tables.TRexTextTable() info_table.set_cols_align(["c"] + ["l"] + ["r"] + ["c"] + ["r"] + ["c"]) info_table.set_cols_width([10] + [20] + [8] + [16] + [10] + [12]) info_table.set_cols_dtype(["t"] + ["t"] + ["t"] + ["t"] + ["t"] + ["t"]) info_table.add_rows([v.values() for k, v in return_streams_data['streams'].iteritems()], header=False) info_table.header(["ID", "packet type", "length", "mode", "rate", "next stream"]) return ExportableStats(return_streams_data, info_table)
def get_rel(self, field, format=False, suffix=""): if not field in self.latest_stats: return "N/A" if not format: if not field in self.reference_stats: print "REF: " + str(self.reference_stats) print "BASE: " + str(self.latest_stats) return (self.latest_stats[field] - self.reference_stats[field]) else: return format_num(self.latest_stats[field] - self.reference_stats[field], suffix)
def get_rel(self, field, format=False, suffix=""): ref_value = self._get(self.reference_stats, field) latest_value = self._get(self.latest_stats, field) # latest value is an aggregation - must contain the value if latest_value == None: return "N/A" if ref_value == None: ref_value = 0 value = latest_value - ref_value return value if not format else format_num(value, suffix)
def _generate_single_port_streams_info(self, port_obj, stream_id_list): return_streams_data = port_obj.generate_loaded_streams_sum( stream_id_list) if not return_streams_data.get("streams"): # we got no streams available return None # FORMAT VALUES ON DEMAND # because we mutate this - deep copy before return_streams_data = copy.deepcopy(return_streams_data) for stream_id, stream_id_sum in return_streams_data[ 'streams'].iteritems(): stream_id_sum['rate_pps'] = format_num(stream_id_sum['rate_pps'], suffix='pps') stream_id_sum['packet_type'] = self._trim_packet_headers( stream_id_sum['packet_type'], 20) info_table = text_tables.TRexTextTable() info_table.set_cols_align(["c"] + ["l"] + ["r"] + ["c"] + ["r"] + ["c"]) info_table.set_cols_width([10] + [20] + [8] + [16] + [10] + [12]) info_table.set_cols_dtype(["t"] + ["t"] + ["t"] + ["t"] + ["t"] + ["t"]) info_table.add_rows([ v.values() for k, v in return_streams_data['streams'].iteritems() ], header=False) info_table.header( ["ID", "packet type", "length", "mode", "rate", "next stream"]) return ExportableStats(return_streams_data, info_table)
def get(self, field, format=False, suffix=""): value = self._get(self.latest_stats, field) if value == None: return "N/A" return value if not format else format_num(value, suffix)