diff --git a/metrics/__init__.py b/metrics/__init__.py new file mode 100644 index 0000000..8d8a13b --- /dev/null +++ b/metrics/__init__.py @@ -0,0 +1,5 @@ +from .metrics import Metrics, MetricsFromStr + +__all__ = [ + 'Metrics', 'MetricsFromStr' +] \ No newline at end of file diff --git a/metrics.py b/metrics/metrics.py similarity index 68% rename from metrics.py rename to metrics/metrics.py index e9205f0..82f2cb1 100644 --- a/metrics.py +++ b/metrics/metrics.py @@ -11,23 +11,21 @@ class Metrics: avg(avg_over_time(node_memory_Buffers_bytes{{job="{target_job}"}}[1m]))) / \ avg(avg_over_time(node_memory_MemTotal_bytes{{job="{target_job}"}}[1m])))', - f'avg(rate(node_network_receive_bytes_total{{job="{target_job}"}}[1m])) * 8 / 1024 / 1024', - f'avg(rate(node_network_transmit_bytes_total{{job="{target_job}"}}[1m])) * 8 / 1024 / 1024', + f'avg(rate(node_network_receive_bytes_total{{job="{target_job}"}}[1m])) * 8 / 1024 / 1024 + \ + avg(rate(node_network_transmit_bytes_total{{job="{target_job}"}}[1m])) * 8 / 1024 / 1024', ] - def __init__(self, cpu_load: float, ram_load: float, net_in_load: float, net_out_load: float): + def __init__(self, cpu_load: float, ram_load: float, net_load: float): ''' Инициализация класса `cpu_load` - значение от 0 до 1 - процент загруженности ЦП за 1 минуту `ram_load` - значение от 0 до 1 - процент загруженности ОЗУ за 1 минуту - `net_in_load` - значение >0 - средняя скорость входящего трафика в мбит/сек - `net_out_load` - значение >0 - средняя скорость исходящего трафика в мбит/сек + `net_load` - значение >0 - средняя скорость входящего и исходящего трафика в мбит/сек ''' self.cpu_load = cpu_load self.ram_load = ram_load - self.net_in_load = net_in_load - self.net_out_load = net_out_load + self.net_load = net_load def __str__(self) -> str: ''' @@ -37,8 +35,7 @@ def __str__(self) -> str: data = { 'cpu_load': self.cpu_load, 'ram_load': self.ram_load, - 'net_in_load': self.net_in_load, - 'net_out_load': self.net_out_load + 'net_load': self.net_load, } return json.dumps(data) @@ -55,10 +52,9 @@ def __init__(self, string_data: str): return super().__init__( float(data['cpu_load']), float(data['ram_load']), - float(data['net_in_load']), - float(data['net_out_load']), + float(data['net_load']), ) except: return super().__init__( - 0, 0, 0, 0 - ) + 0, 0, 0 + ) \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..fb8a1fd --- /dev/null +++ b/setup.py @@ -0,0 +1,17 @@ +from setuptools import setup, find_packages + +setup( + name='metrics', + version='0.1.0', + packages=find_packages(), + install_requires=[], + author='BobryTeam', + author_email='sinntexxx@gmail.com', + description='Metrics data structure', + url='https://github.com/BobryTeam/metrics', + classifiers=[ + 'Programming Language :: Python :: 3', + 'Operating System :: OS Independent', + ], + python_requires='>=3.10', +)