in scheme_adapters/polyfit_adapter/polyfit_adapter.py [0:0]
def get_metric(self, pid, metric_list):
subprocess.call(
["sudo", "DAMOOS=" + self.damoos_path, "bash", self.damoos_path + "/frontend/wait_for_process.sh",
str(pid)])
wait_command = ["sudo", "DAMOOS=" + self.damoos_path, "bash",
self.damoos_path + "/frontend/wait_for_metric_collector.sh", str(pid)]
for metric in metric_list:
name = metric.split(";")[0]
wait_command.append(name)
subprocess.call(wait_command)
workload_metrics = dict()
for metric in metric_list:
name = metric.split(";")[0]
collect_type = metric.split(";")[1]
counter = 0
while counter < 5:
if (subprocess.call(
["sudo", "DAMOOS=" + self.damoos_path, "bash", self.damoos_path + "/frontend/get_metric.sh",
str(pid), name, collect_type]) != 0):
time.sleep(1)
counter += 1
continue
else:
fil1 = open(self.damoos_path + "/results/" + name + "/" + str(pid) + "." + collect_type, "r")
result = float(str(fil1.readlines()).split("'")[1][0:-2])
workload_metrics[name] = result
break
return workload_metrics