fix cgroup metric collector when no cgroup is available

This commit is contained in:
Jelle Scholtalbers
2018-02-27 11:46:55 +01:00
parent f6b2cc65b9
commit 899ea47c9a
@@ -63,13 +63,13 @@ class CgroupPlugin(InstrumentPlugin):
return metrics
def __record_cgroup_cpu_usage(self, job_directory):
return """cat /proc/$$/cgroup | awk -F':' '$2=="cpuacct,cpu"{print $2":"$3}' | xargs -I{} cgget -g {} > %s""" % self.__cgroup_metrics_file(job_directory)
return """if [ -x /proc/$$/cgroup ]; then cat /proc/$$/cgroup | awk -F':' '$2=="cpuacct,cpu"{print $2":"$3}' | xargs -I{} cgget -g {} > %(metrics)s ; else echo "" > %(metrics)s; fi""" % {"metrics": self.__cgroup_metrics_file(job_directory)}
def __record_cgroup_memory_usage(self, job_directory):
return """cat /proc/$$/cgroup | awk -F':' '$2=="memory"{print $2":"$3}' | xargs -I{} cgget -g {} >> %s""" % self.__cgroup_metrics_file(job_directory)
return """if [ -x /proc/$$/cgroup ]; then cat /proc/$$/cgroup | awk -F':' '$2=="memory"{print $2":"$3}' | xargs -I{} cgget -g {} >> %(metrics)s ; else echo "" > %(metrics)s; fi""" % {"metrics": self.__cgroup_metrics_file(job_directory)}
def __cgroup_metrics_file(self, job_directory):
return self._instrument_file_path(job_directory, "cgroup_metrics")
return self._instrument_file_path(job_directory, "_metrics")
def __read_metrics(self, path):
metrics = {}