aboutsummaryrefslogtreecommitdiffstats
path: root/library/python/testing
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2023-12-01 16:59:11 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2023-12-01 19:54:31 +0300
commit3715aa9254f65ae1058290101351a72a6d3a67d4 (patch)
tree9ac5a1cdab42dfc7cd095a06a362e0681cb1482f /library/python/testing
parentb20a8c04fb7e595955ca9d1b943033342b6580cb (diff)
downloadydb-3715aa9254f65ae1058290101351a72a6d3a67d4.tar.gz
Intermediate changes
Diffstat (limited to 'library/python/testing')
-rw-r--r--library/python/testing/coverage_utils/__init__.py14
-rw-r--r--library/python/testing/coverage_utils/ya.make5
-rw-r--r--library/python/testing/system_info/__init__.py204
-rw-r--r--library/python/testing/system_info/ya.make15
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
-)