summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/console/trex_status.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/trex_control_plane/console/trex_status.py')
-rw-r--r--scripts/automation/trex_control_plane/console/trex_status.py525
1 files changed, 0 insertions, 525 deletions
diff --git a/scripts/automation/trex_control_plane/console/trex_status.py b/scripts/automation/trex_control_plane/console/trex_status.py
deleted file mode 100644
index 45769693..00000000
--- a/scripts/automation/trex_control_plane/console/trex_status.py
+++ /dev/null
@@ -1,525 +0,0 @@
-#from time import sleep
-#
-#import os
-#
-#import curses
-#from curses import panel
-#import random
-#import collections
-#import operator
-#import datetime
-#
-#g_curses_active = False
-#
-#################### utils #################
-#
-## simple percetange show
-#def percentage (a, total):
-# x = int ((float(a) / total) * 100)
-# return str(x) + "%"
-#
-#################### panels #################
-#
-## panel object
-#class TrexStatusPanel(object):
-# def __init__ (self, h, l, y, x, headline, status_obj):
-#
-# self.status_obj = status_obj
-#
-# self.log = status_obj.log
-# self.stateless_client = status_obj.stateless_client
-#
-# self.stats = status_obj.stats
-# self.general_stats = status_obj.general_stats
-#
-# self.h = h
-# self.l = l
-# self.y = y
-# self.x = x
-# self.headline = headline
-#
-# self.win = curses.newwin(h, l, y, x)
-# self.win.erase()
-# self.win.box()
-#
-# self.win.addstr(1, 2, headline, curses.A_UNDERLINE)
-# self.win.refresh()
-#
-# panel.new_panel(self.win)
-# self.panel = panel.new_panel(self.win)
-# self.panel.top()
-#
-# def clear (self):
-# self.win.erase()
-# self.win.box()
-# self.win.addstr(1, 2, self.headline, curses.A_UNDERLINE)
-#
-# def getwin (self):
-# return self.win
-#
-#
-## various kinds of panels
-#
-## Server Info Panel
-#class ServerInfoPanel(TrexStatusPanel):
-# def __init__ (self, h, l, y, x, status_obj):
-#
-# super(ServerInfoPanel, self).__init__(h, l, y ,x ,"Server Info:", status_obj)
-#
-# def draw (self):
-#
-# if not self.status_obj.server_version :
-# return
-#
-# if not self.status_obj.server_sys_info:
-# return
-#
-#
-# self.clear()
-#
-# self.getwin().addstr(3, 2, "{:<30} {:30}".format("Server:",self.status_obj.server_sys_info["hostname"] + ":" + str(self.stateless_client.get_connection_port())))
-# self.getwin().addstr(4, 2, "{:<30} {:30}".format("Version:", self.status_obj.server_version["version"]))
-# self.getwin().addstr(5, 2, "{:<30} {:30}".format("Build:",
-# self.status_obj.server_version["build_date"] + " @ " +
-# self.status_obj.server_version["build_time"] + " by " +
-# self.status_obj.server_version["built_by"]))
-#
-# self.getwin().addstr(6, 2, "{:<30} {:30}".format("Server Uptime:", self.status_obj.server_sys_info["uptime"]))
-# self.getwin().addstr(7, 2, "{:<30} {:<3} / {:<30}".format("DP Cores:", str(self.status_obj.server_sys_info["dp_core_count"]) +
-# " cores", self.status_obj.server_sys_info["core_type"]))
-#
-# self.getwin().addstr(9, 2, "{:<30} {:<30}".format("Ports Count:", self.status_obj.server_sys_info["port_count"]))
-#
-# ports_owned = " ".join(str(x) for x in self.status_obj.owned_ports_list)
-#
-# if not ports_owned:
-# ports_owned = "None"
-#
-# self.getwin().addstr(10, 2, "{:<30} {:<30}".format("Ports Owned:", ports_owned))
-#
-## general info panel
-#class GeneralInfoPanel(TrexStatusPanel):
-# def __init__ (self, h, l, y, x, status_obj):
-#
-# super(GeneralInfoPanel, self).__init__(h, l, y ,x ,"General Info:", status_obj)
-#
-# def draw (self):
-# self.clear()
-#
-# if not self.general_stats.is_online():
-# self.getwin().addstr(3, 2, "No Published Data From TRex Server")
-# return
-#
-# self.getwin().addstr(3, 2, "{:<30} {:0.2f} %".format("CPU util.:", self.general_stats.get("m_cpu_util")))
-#
-# self.getwin().addstr(6, 2, "{:<30} {:} / {:}".format("Total Tx. rate:",
-# self.general_stats.get("m_tx_bps", format = True, suffix = "bps"),
-# self.general_stats.get("m_tx_pps", format = True, suffix = "pps")))
-#
-#
-# self.getwin().addstr(8, 2, "{:<30} {:} / {:}".format("Total Tx:",
-# self.general_stats.get_rel("m_total_tx_bytes", format = True, suffix = "B"),
-# self.general_stats.get_rel("m_total_tx_pkts", format = True, suffix = "pkts")))
-#
-# self.getwin().addstr(11, 2, "{:<30} {:} / {:}".format("Total Rx. rate:",
-# self.general_stats.get("m_rx_bps", format = True, suffix = "bps"),
-# self.general_stats.get("m_rx_pps", format = True, suffix = "pps")))
-#
-#
-# self.getwin().addstr(13, 2, "{:<30} {:} / {:}".format("Total Rx:",
-# self.general_stats.get_rel("m_total_rx_bytes", format = True, suffix = "B"),
-# self.general_stats.get_rel("m_total_rx_pkts", format = True, suffix = "pkts")))
-#
-## all ports stats
-#class PortsStatsPanel(TrexStatusPanel):
-# def __init__ (self, h, l, y, x, status_obj):
-#
-# super(PortsStatsPanel, self).__init__(h, l, y ,x ,"Trex Ports:", status_obj)
-#
-#
-# def draw (self):
-#
-# self.clear()
-#
-# owned_ports = self.status_obj.owned_ports_list
-# if not owned_ports:
-# self.getwin().addstr(3, 2, "No Owned Ports - Please Acquire One Or More Ports")
-# return
-#
-# # table header
-# self.getwin().addstr(3, 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "Port ID", "Tx Rate [bps/pps]", "Rx Rate [bps/pps]", "Total Bytes [tx/rx]"))
-#
-#
-#
-# for i, port_index in enumerate(owned_ports):
-#
-# port_stats = self.status_obj.stats.get_port_stats(port_index)
-#
-# if port_stats:
-# self.getwin().addstr(5 + (i * 4), 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "{0} ({1})".format(str(port_index), self.status_obj.server_sys_info["ports"][port_index]["speed"]),
-# "{0} / {1}".format(port_stats.get("m_total_tx_bps", format = True, suffix = "bps"),
-# port_stats.get("m_total_tx_pps", format = True, suffix = "pps")),
-#
-# "{0} / {1}".format(port_stats.get("m_total_rx_bps", format = True, suffix = "bps"),
-# port_stats.get("m_total_rx_pps", format = True, suffix = "pps")),
-# "{0} / {1}".format(port_stats.get_rel("obytes", format = True, suffix = "B"),
-# port_stats.get_rel("ibytes", format = True, suffix = "B"))))
-#
-# else:
-#
-# self.getwin().addstr(5 + (i * 4), 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "{0} ({1})".format(str(port_index), self.status_obj.server_sys_info["ports"][port_index]["speed"]),
-# "N/A",
-# "N/A",
-# "N/A",
-# "N/A"))
-#
-#
-# # old format
-## if port_stats:
-## self.getwin().addstr(5 + (i * 4), 2, "{:^15} {:^15} {:^15} {:^15} {:^15} {:^15} {:^15}".format(
-## "{0} ({1})".format(str(port_index), self.status_obj.server_sys_info["ports"][port_index]["speed"]),
-## port_stats.get("m_total_tx_pps", format = True, suffix = "pps"),
-## port_stats.get("m_total_tx_bps", format = True, suffix = "bps"),
-## port_stats.get_rel("obytes", format = True, suffix = "B"),
-## port_stats.get("m_total_rx_pps", format = True, suffix = "pps"),
-## port_stats.get("m_total_rx_bps", format = True, suffix = "bps"),
-## port_stats.get_rel("ibytes", format = True, suffix = "B")))
-##
-## else:
-## self.getwin().addstr(5 + (i * 4), 2, "{:^15} {:^15} {:^15} {:^15} {:^15} {:^15} {:^15}".format(
-## "{0} ({1})".format(str(port_index), self.status_obj.server_sys_info["ports"][port_index]["speed"]),
-## "N/A",
-## "N/A",
-## "N/A",
-## "N/A",
-## "N/A",
-## "N/A"))
-#
-## control panel
-#class ControlPanel(TrexStatusPanel):
-# def __init__ (self, h, l, y, x, status_obj):
-#
-# super(ControlPanel, self).__init__(h, l, y, x, "", status_obj)
-#
-#
-# def draw (self):
-# self.clear()
-#
-# self.getwin().addstr(1, 2, "'g' - general, '0-{0}' - specific port, 'f' - freeze, 'c' - clear stats, 'p' - ping server, 'q' - quit"
-# .format(self.status_obj.stateless_client.get_port_count() - 1))
-#
-# self.log.draw(self.getwin(), 2, 3)
-#
-## specific ports panels
-#class SinglePortPanel(TrexStatusPanel):
-# def __init__ (self, h, l, y, x, status_obj, port_id):
-#
-# super(SinglePortPanel, self).__init__(h, l, y, x, "Port {0}".format(port_id), status_obj)
-#
-# self.port_id = port_id
-#
-# def draw (self):
-# y = 3
-#
-# self.clear()
-#
-# if not self.port_id in self.status_obj.owned_ports_list:
-# self.getwin().addstr(y, 2, "Port {0} is not owned by you, please acquire the port for more info".format(self.port_id))
-# return
-#
-# # streams
-# self.getwin().addstr(y, 2, "Streams:", curses.A_UNDERLINE)
-# y += 2
-#
-# # stream table header
-# self.getwin().addstr(y, 2, "{:^15} {:^15} {:^15} {:^15} {:^15} {:^15} {:^15}".format(
-# "Stream ID", "Enabled", "Type", "Self Start", "ISG", "Next Stream", "VM"))
-# y += 2
-#
-# # streams
-#
-# if 'streams' in self.status_obj.owned_ports[str(self.port_id)]:
-# stream_info = self.status_obj.owned_ports[str(self.port_id)]['streams']
-#
-# for stream_id, stream in sorted(stream_info.iteritems(), key=operator.itemgetter(0)):
-# self.getwin().addstr(y, 2, "{:^15} {:^15} {:^15} {:^15} {:^15} {:^15} {:^15}".format(
-# stream_id,
-# ("True" if stream['enabled'] else "False"),
-# stream['mode']['type'],
-# ("True" if stream['self_start'] else "False"),
-# stream['isg'],
-# (stream['next_stream_id'] if stream['next_stream_id'] != -1 else "None"),
-# ("{0} instr.".format(len(stream['vm'])) if stream['vm'] else "None")))
-#
-# y += 1
-#
-# # new section - traffic
-# y += 2
-#
-# self.getwin().addstr(y, 2, "Traffic:", curses.A_UNDERLINE)
-# y += 2
-#
-#
-#
-# # table header
-# self.getwin().addstr(y, 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "Port ID", "Tx Rate [bps/pps]", "Rx Rate [bps/pps]", "Total Bytes [tx/rx]"))
-#
-#
-# y += 2
-#
-# port_stats = self.status_obj.stats.get_port_stats(self.port_id)
-#
-# if port_stats:
-# self.getwin().addstr(y, 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "{0} ({1})".format(str(self.port_id), self.status_obj.server_sys_info["ports"][self.port_id]["speed"]),
-# "{0} / {1}".format(port_stats.get("m_total_tx_bps", format = True, suffix = "bps"),
-# port_stats.get("m_total_tx_pps", format = True, suffix = "pps")),
-#
-# "{0} / {1}".format(port_stats.get("m_total_rx_bps", format = True, suffix = "bps"),
-# port_stats.get("m_total_rx_pps", format = True, suffix = "pps")),
-# "{0} / {1}".format(port_stats.get_rel("obytes", format = True, suffix = "B"),
-# port_stats.get_rel("ibytes", format = True, suffix = "B"))))
-#
-# else:
-# self.getwin().addstr(y, 2, "{:^15} {:^30} {:^30} {:^30}".format(
-# "{0} ({1})".format(str(self.port_id), self.status_obj.server_sys_info["ports"][self.port_id]["speed"]),
-# "N/A",
-# "N/A",
-# "N/A",
-# "N/A"))
-#
-#
-#################### main objects #################
-#
-## status log
-#class TrexStatusLog():
-# def __init__ (self):
-# self.log = []
-#
-# def add_event (self, msg):
-# self.log.append("[{0}] {1}".format(str(datetime.datetime.now().time()), msg))
-#
-# def draw (self, window, x, y, max_lines = 4):
-# index = y
-#
-# cut = len(self.log) - max_lines
-# if cut < 0:
-# cut = 0
-#
-# for msg in self.log[cut:]:
-# window.addstr(index, x, msg)
-# index += 1
-#
-## status commands
-#class TrexStatusCommands():
-# def __init__ (self, status_object):
-#
-# self.status_object = status_object
-#
-# self.stateless_client = status_object.stateless_client
-# self.log = self.status_object.log
-#
-# self.actions = {}
-# self.actions[ord('q')] = self._quit
-# self.actions[ord('p')] = self._ping
-# self.actions[ord('f')] = self._freeze
-#
-# self.actions[ord('g')] = self._show_ports_stats
-#
-# # register all the available ports shortcuts
-# for port_id in xrange(0, self.stateless_client.get_port_count()):
-# self.actions[ord('0') + port_id] = self._show_port_generator(port_id)
-#
-#
-# # handle a key pressed
-# def handle (self, ch):
-# if ch in self.actions:
-# return self.actions[ch]()
-# else:
-# self.log.add_event("Unknown key pressed, please see legend")
-# return True
-#
-# # show all ports
-# def _show_ports_stats (self):
-# self.log.add_event("Switching to all ports view")
-# self.status_object.stats_panel = self.status_object.ports_stats_panel
-#
-# return True
-#
-#
-# # function generator for different ports requests
-# def _show_port_generator (self, port_id):
-# def _show_port():
-# self.log.add_event("Switching panel to port {0}".format(port_id))
-# self.status_object.stats_panel = self.status_object.ports_panels[port_id]
-#
-# return True
-#
-# return _show_port
-#
-# def _freeze (self):
-# self.status_object.update_active = not self.status_object.update_active
-# self.log.add_event("Update continued" if self.status_object.update_active else "Update stopped")
-#
-# return True
-#
-# def _quit(self):
-# return False
-#
-# def _ping (self):
-# self.log.add_event("Pinging RPC server")
-#
-# rc, msg = self.stateless_client.ping()
-# if rc:
-# self.log.add_event("Server replied: '{0}'".format(msg))
-# else:
-# self.log.add_event("Failed to get reply")
-#
-# return True
-#
-## status object
-##
-##
-##
-#class CTRexStatus():
-# def __init__ (self, stdscr, stateless_client):
-# self.stdscr = stdscr
-#
-# self.stateless_client = stateless_client
-#
-# self.log = TrexStatusLog()
-# self.cmds = TrexStatusCommands(self)
-#
-# self.stats = stateless_client.get_stats_async()
-# self.general_stats = stateless_client.get_stats_async().get_general_stats()
-#
-# # fetch server info
-# self.server_sys_info = self.stateless_client.get_system_info()
-#
-# self.server_version = self.stateless_client.get_server_version()
-#
-# # list of owned ports
-# self.owned_ports_list = self.stateless_client.get_acquired_ports()
-#
-# # data per port
-# self.owned_ports = {}
-#
-# for port_id in self.owned_ports_list:
-# self.owned_ports[str(port_id)] = {}
-# self.owned_ports[str(port_id)]['streams'] = {}
-#
-# stream_list = self.stateless_client.get_all_streams(port_id)
-#
-# self.owned_ports[str(port_id)] = stream_list
-#
-#
-# try:
-# curses.curs_set(0)
-# except:
-# pass
-#
-# curses.use_default_colors()
-# self.stdscr.nodelay(1)
-# curses.nonl()
-# curses.noecho()
-#
-# self.generate_layout()
-#
-#
-# def generate_layout (self):
-# self.max_y = self.stdscr.getmaxyx()[0]
-# self.max_x = self.stdscr.getmaxyx()[1]
-#
-# self.server_info_panel = ServerInfoPanel(int(self.max_y * 0.3), self.max_x / 2, int(self.max_y * 0.5), self.max_x /2, self)
-# self.general_info_panel = GeneralInfoPanel(int(self.max_y * 0.5), self.max_x / 2, 0, self.max_x /2, self)
-# self.control_panel = ControlPanel(int(self.max_y * 0.2), self.max_x , int(self.max_y * 0.8), 0, self)
-#
-# # those can be switched on the same place
-# self.ports_stats_panel = PortsStatsPanel(int(self.max_y * 0.8), self.max_x / 2, 0, 0, self)
-#
-# self.ports_panels = {}
-# for i in xrange(0, self.stateless_client.get_port_count()):
-# self.ports_panels[i] = SinglePortPanel(int(self.max_y * 0.8), self.max_x / 2, 0, 0, self, i)
-#
-# # at start time we point to the main one
-# self.stats_panel = self.ports_stats_panel
-# self.stats_panel.panel.top()
-#
-# panel.update_panels(); self.stdscr.refresh()
-# return
-#
-#
-# def wait_for_key_input (self):
-# ch = self.stdscr.getch()
-#
-# # no key , continue
-# if ch == curses.ERR:
-# return True
-#
-# return self.cmds.handle(ch)
-#
-# # main run entry point
-# def run (self):
-#
-# # list of owned ports
-# self.owned_ports_list = self.stateless_client.get_acquired_ports()
-#
-# # data per port
-# self.owned_ports = {}
-#
-# for port_id in self.owned_ports_list:
-# self.owned_ports[str(port_id)] = {}
-# self.owned_ports[str(port_id)]['streams'] = {}
-#
-# stream_list = self.stateless_client.get_all_streams(port_id)
-#
-# self.owned_ports[str(port_id)] = stream_list
-#
-# self.update_active = True
-# while (True):
-#
-# rc = self.wait_for_key_input()
-# if not rc:
-# break
-#
-# self.server_info_panel.draw()
-# self.general_info_panel.draw()
-# self.control_panel.draw()
-#
-# # can be different kinds of panels
-# self.stats_panel.panel.top()
-# self.stats_panel.draw()
-#
-# panel.update_panels()
-# self.stdscr.refresh()
-# sleep(0.01)
-#
-#
-## global container
-#trex_status = None
-#
-#def show_trex_status_internal (stdscr, stateless_client):
-# global trex_status
-#
-# if trex_status == None:
-# trex_status = CTRexStatus(stdscr, stateless_client)
-#
-# trex_status.run()
-#
-#def show_trex_status (stateless_client):
-#
-# try:
-# curses.wrapper(show_trex_status_internal, stateless_client)
-# except KeyboardInterrupt:
-# curses.endwin()
-#
-#def cleanup ():
-# try:
-# curses.endwin()
-# except:
-# pass
-#