diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-04 15:32:14 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-12-05 01:22:50 +0300 |
commit | c21ed9eedf73010bc81342518177dfdfb0d56bd7 (patch) | |
tree | 72f8fde4463080cfe5a38eb0babc051cfe32c51e /library/python/testing | |
parent | ec1311bf2e8cc231723b8b5e484ca576663a1309 (diff) | |
download | ydb-c21ed9eedf73010bc81342518177dfdfb0d56bd7.tar.gz |
Intermediate changes
Diffstat (limited to 'library/python/testing')
-rw-r--r-- | library/python/testing/coverage_utils/__init__.py | 14 | ||||
-rw-r--r-- | library/python/testing/coverage_utils/ya.make | 5 | ||||
-rw-r--r-- | library/python/testing/system_info/__init__.py | 204 | ||||
-rw-r--r-- | library/python/testing/system_info/ya.make | 15 |
4 files changed, 0 insertions, 238 deletions
diff --git a/library/python/testing/coverage_utils/__init__.py b/library/python/testing/coverage_utils/__init__.py deleted file mode 100644 index 3313eee7b50..00000000000 --- a/library/python/testing/coverage_utils/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -import re - - -def make_filter(prefix_filter, exclude_regexp): - filters = [] - if prefix_filter: - filters.append(lambda x: x.startswith(prefix_filter)) - if exclude_regexp: - regexp = re.compile(exclude_regexp) - filters.append(lambda x: not regexp.search(x)) - - if filters: - return lambda x: all(pred(x) for pred in filters) - return lambda x: True diff --git a/library/python/testing/coverage_utils/ya.make b/library/python/testing/coverage_utils/ya.make deleted file mode 100644 index 35821361805..00000000000 --- a/library/python/testing/coverage_utils/ya.make +++ /dev/null @@ -1,5 +0,0 @@ -PY23_LIBRARY() - -PY_SRCS(__init__.py) - -END() diff --git a/library/python/testing/system_info/__init__.py b/library/python/testing/system_info/__init__.py deleted file mode 100644 index 8bad854d97a..00000000000 --- a/library/python/testing/system_info/__init__.py +++ /dev/null @@ -1,204 +0,0 @@ -import collections -import psutil -from functools import wraps - - -def safe(name): - def decorator_safe(func): - """ - Decorator for try-catch on string assembly - """ - - @wraps(func) - def wrap_safe(*args, **kwargs): - try: - return func(*args, **kwargs) - except Exception as e: - return "Failed to get {}: {}".format(name, e) - - return wrap_safe - - return decorator_safe - - -def get_proc_attrib(attr): - if callable(attr): - try: - return attr() - except psutil.Error: - return None - else: - return attr - - -@safe("cpu/mem info") -def _cpu_mem_str(): - vm = psutil.virtual_memory() - cpu_tp = psutil.cpu_times_percent(0.1) - - str_items = [] - str_items.append( - "CPU: Idle: {}% User: {}% System: {}% IOwait: {}%\n".format( - cpu_tp.idle, cpu_tp.user, cpu_tp.system, cpu_tp.iowait - ) - ) - - str_items.append( - "MEM: total {} Gb available: {} Gb used: {} Gb free: {} Gb active: {} Gb inactive: {} Gb shared: {} Gb\n".format( - round(vm.total / 1e9, 2), - round(vm.available / 1e9, 2), - round(vm.used / 1e9, 2), - round(vm.free / 1e9, 2), - round(vm.active / 1e9, 2), - round(vm.inactive / 1e9, 2), - round(vm.shared / 1e9, 2), - ) - ) - - str_items.append("Used swap: {}%\n".format(psutil.swap_memory().percent)) - - return "".join(str_items) - - -@safe("processes tree") -def _proc_tree_str(): - tree = collections.defaultdict(list) - for p in psutil.process_iter(): - try: - tree[p.ppid()].append(p.pid) - except (psutil.NoSuchProcess, psutil.ZombieProcess): - pass - # on systems supporting PID 0, PID 0's parent is usually 0 - if 0 in tree and 0 in tree[0]: - tree[0].remove(0) - - return _print_proc_tree(min(tree), tree) - - -def _print_proc_tree(parent_root, tree, indent_root=''): - stack = [(parent_root, indent_root, "")] - str_items = list() - - while len(stack) > 0: - try: - parent, indent, prefix = stack.pop() - p = psutil.Process(parent) - name = get_proc_attrib(p.name) - str_items.append("{}({}, '{}'".format(prefix, parent, name if name else '?')) - - exe = get_proc_attrib(p.exe) - if exe: - str_items.append(" [{}]".format(exe)) - - str_items.append(") ") - str_items.append(" st: {}".format(p.status())) - str_items.append(" mem: {}%".format(round(p.memory_percent(), 2))) - - ndfs = get_proc_attrib(p.num_fds) - if ndfs and ndfs > 0: - str_items.append(" fds: {}".format(ndfs)) - - conns = get_proc_attrib(p.connections) - if conns and len(conns) > 1: - str_items.append(" num con: {}".format(len(conns))) - - ths = get_proc_attrib(p.num_threads) - if ths and ths > 1: - str_items.append(" threads: {}".format(ths)) - - str_items.append("\n") - except psutil.Error: - name = "?" - str_items.append("({}, '{}')\n".format(parent, name)) - - if parent not in tree: - continue - - child = tree[parent][-1] - stack.append((child, indent + " ", indent + "`_ ")) - - children = tree[parent][:-1] - children.reverse() - for child in children: - stack.append((child, indent + "| ", indent + "|- ")) - - return "".join(str_items) - - -@safe("network info") -def _network_conn_str(): - str_items = list() - - counters = psutil.net_io_counters() - str_items.append( - "\nPackSent: {} PackRecv: {} ErrIn: {} ErrOut: {} DropIn: {} DropOut: {}\n\n".format( - counters.packets_sent, - counters.packets_recv, - counters.errin, - counters.errout, - counters.dropin, - counters.dropout, - ) - ) - - ifaces = psutil.net_if_addrs() - conns = psutil.net_connections() - list_ip = collections.defaultdict(list) - for con in conns: - list_ip[con.laddr.ip].append(con) - - for name, addrs in ifaces.iteritems(): - str_items.append("{}:\n".format(name)) - - for ip in addrs: - str_items.append(" {}".format(ip.address)) - if ip.netmask: - str_items.append(" mask={}".format(ip.netmask)) - if ip.broadcast: - str_items.append(" bc={}".format(ip.broadcast)) - str_items.append("\n") - - for con in list_ip[ip.address]: - str_items.append(" {}".format(con.laddr.port)) - if con.raddr: - str_items.append(" <--> {} : {}".format(con.raddr.ip, con.raddr.port)) - str_items.append(" (stat: {}".format(con.status)) - if con.pid: - str_items.append(" proc: {} (pid={})".format(psutil.Process(con.pid).exe(), con.pid)) - str_items.append(")\n") - - del list_ip[ip.address] - - str_items.append("***\n") - for ip, conns in list_ip.iteritems(): - str_items.append(" {}\n".format(ip)) - - for con in conns: - str_items.append(" {}".format(con.laddr.port)) - if con.raddr: - str_items.append(" <--> {} : {}".format(con.raddr.ip, con.raddr.port)) - str_items.append(" (stat: {}".format(con.status)) - if con.pid: - str_items.append(" proc: {} (pid={})".format(psutil.Process(con.pid).exe(), con.pid)) - str_items.append(")\n") - - return "".join(str_items) - - -@safe("info") -def get_system_info(): - str_items = list() - - str_items.append("\n --- CPU MEM --- \n") - str_items.append(_cpu_mem_str()) - str_items.append("\n") - - str_items.append("\n --- PROCESSES TREE --- \n") - str_items.append(_proc_tree_str()) - str_items.append("\n") - - str_items.append("\n --- NETWORK INFO --- \n") - str_items.append(_network_conn_str()) - str_items.append("\n") - - return "".join(str_items) diff --git a/library/python/testing/system_info/ya.make b/library/python/testing/system_info/ya.make deleted file mode 100644 index f655db8ebea..00000000000 --- a/library/python/testing/system_info/ya.make +++ /dev/null @@ -1,15 +0,0 @@ -PY23_LIBRARY() - -PY_SRCS(__init__.py) - -PEERDIR( - contrib/python/psutil -) - -STYLE_PYTHON() - -END() - -RECURSE_FOR_TESTS( - test -) |