sciveo 0.0.46__tar.gz → 0.0.47__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sciveo-0.0.46 → sciveo-0.0.47}/PKG-INFO +1 -1
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/monitoring/monitor.py +45 -10
- sciveo-0.0.47/sciveo/version.py +2 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.0.46/sciveo/version.py +0 -2
- {sciveo-0.0.46 → sciveo-0.0.47}/README.md +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/api/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/api/base.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/api/upload.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/configuration.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/model.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/sampling.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/daemon.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/formating.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/hardware.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/logger.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/common/tools/synchronized.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/content/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/content/dataset.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/content/experiment.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/content/project.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/content/runner.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/setup.cfg +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/setup.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/test/test_configuration.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/test/test_monitoring.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/test/test_runner.py +0 -0
- {sciveo-0.0.46 → sciveo-0.0.47}/test/test_sampling.py +0 -0
|
@@ -31,15 +31,19 @@ class BaseMonitor(DaemonBase):
|
|
|
31
31
|
|
|
32
32
|
self.data = HardwareInfo()()
|
|
33
33
|
self.data.setdefault("CPU", {})
|
|
34
|
+
self.data.setdefault("DISK", {})
|
|
35
|
+
self.data.setdefault("NET", {})
|
|
34
36
|
self.data["RAM"] = {}
|
|
35
37
|
self.data["LOG"] = {}
|
|
36
38
|
self.list_logs = []
|
|
37
39
|
|
|
38
40
|
self.api = APIRemoteClient()
|
|
39
41
|
|
|
40
|
-
# Warmup the psutil
|
|
42
|
+
# Warmup the psutil
|
|
41
43
|
psutil.cpu_percent(interval=0.3, percpu=True)
|
|
42
44
|
initial_cpu_usage = psutil.cpu_percent(interval=None, percpu=True)
|
|
45
|
+
self.previous_disk_io_counters = psutil.disk_io_counters(perdisk=False)
|
|
46
|
+
self.previous_net_io_counters = psutil.net_io_counters(pernic=False)
|
|
43
47
|
time.sleep(1)
|
|
44
48
|
|
|
45
49
|
machine_serial = self.getserial()
|
|
@@ -53,6 +57,8 @@ class BaseMonitor(DaemonBase):
|
|
|
53
57
|
self.get_cpu_usage()
|
|
54
58
|
self.get_memory()
|
|
55
59
|
self.get_gpu()
|
|
60
|
+
self.get_disk()
|
|
61
|
+
self.get_network()
|
|
56
62
|
|
|
57
63
|
self.tail_logs()
|
|
58
64
|
self.data["local_time"] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
@@ -66,17 +72,23 @@ class BaseMonitor(DaemonBase):
|
|
|
66
72
|
self.data["LOG"][log_name] = self.tail_file(log_path)[-3:]
|
|
67
73
|
|
|
68
74
|
def get_cpu_usage(self):
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
try:
|
|
76
|
+
usage_per_core = psutil.cpu_percent(interval=None, percpu=True)
|
|
77
|
+
self.data["CPU"]["usage per core"] = usage_per_core
|
|
78
|
+
self.data["CPU"]["usage"] = np.array(usage_per_core).mean()
|
|
79
|
+
except Exception:
|
|
80
|
+
pass
|
|
72
81
|
|
|
73
82
|
def get_memory(self):
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
try:
|
|
84
|
+
memory = psutil.virtual_memory()
|
|
85
|
+
self.data["RAM"]["used"] = memory.used
|
|
86
|
+
self.data["RAM"]["total"] = memory.total
|
|
87
|
+
self.data["RAM"]["free"] = memory.free
|
|
88
|
+
# self.data["RAM"]["installed"] = format_memory_size(memory.total)
|
|
89
|
+
self.data["RAM"]["print"] = f"total: {format_memory_size(memory.total)} used: {format_memory_size(memory.used)}"
|
|
90
|
+
except Exception:
|
|
91
|
+
pass
|
|
80
92
|
|
|
81
93
|
def getserial(self):
|
|
82
94
|
machine_serial = None
|
|
@@ -123,7 +135,30 @@ class BaseMonitor(DaemonBase):
|
|
|
123
135
|
except Exception as e:
|
|
124
136
|
pass
|
|
125
137
|
|
|
138
|
+
def get_disk(self):
|
|
139
|
+
try:
|
|
140
|
+
list_metrics = ["read count", "write count", "read bytes", "write bytes", "read time", "write time"]
|
|
141
|
+
disk_io_counters = psutil.disk_io_counters(perdisk=False)
|
|
142
|
+
self.get_io_metrics("DISK", list_metrics, disk_io_counters, self.previous_disk_io_counters)
|
|
143
|
+
self.previous_disk_io_counters = disk_io_counters
|
|
144
|
+
except Exception as e:
|
|
145
|
+
pass
|
|
146
|
+
|
|
147
|
+
def get_network(self):
|
|
148
|
+
try:
|
|
149
|
+
list_metrics = ["bytes sent", "bytes recv", "packets sent", "packets recv"]
|
|
150
|
+
net_io_counters = psutil.net_io_counters(pernic=False)
|
|
151
|
+
self.get_io_metrics("NET", list_metrics, net_io_counters, self.previous_net_io_counters)
|
|
152
|
+
self.previous_net_io_counters = net_io_counters
|
|
153
|
+
except Exception as e:
|
|
154
|
+
pass
|
|
126
155
|
|
|
156
|
+
def get_io_metrics(self, name, list_metrics, io_counters, prev_io_counters):
|
|
157
|
+
counters = io_counters._asdict()
|
|
158
|
+
prev_io_counters = prev_io_counters._asdict()
|
|
159
|
+
for metric_name in list_metrics:
|
|
160
|
+
metric_key = metric_name.replace(' ', '_')
|
|
161
|
+
self.data[name][metric_name] = counters[metric_key] - prev_io_counters[metric_key]
|
|
127
162
|
|
|
128
163
|
|
|
129
164
|
if __name__ == "__main__":
|
sciveo-0.0.46/sciveo/version.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|