Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.job_metrics.instrumenters.uname
"""The module describes the ``uname`` job metrics plugin."""
from . import InstrumentPlugin
from .. import formatting
class UnameFormatter(formatting.JobMetricFormatter):
    def format(self, key, value):
        return "Operating System", value
[docs]class UnamePlugin(InstrumentPlugin):
    """ Use uname to gather operating system information about remote system
    job is running on. Linux only.
    """
    plugin_type = "uname"
    formatter = UnameFormatter()
[docs]    def pre_execute_instrument(self, job_directory):
        return "uname %s > '%s'" % (self.uname_args, self.__instrument_uname_path(job_directory))
[docs]    def job_properties(self, job_id, job_directory):
        properties = {}
        with open(self.__instrument_uname_path(job_directory)) as f:
            properties["uname"] = f.read()
        return properties
    def __instrument_uname_path(self, job_directory):
        return self._instrument_file_path(job_directory, "uname")
__all__ = ('UnamePlugin', )