# Stubs for galaxy.jobs.metrics (Python 3.4)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Optional
from ..metrics import formatting as formatting

log = ...  # type: Any
DEFAULT_FORMATTER = ...  # type: Any

class JobMetrics:
    plugin_classes = ...  # type: Any
    default_job_instrumenter = ...  # type: Any
    job_instrumenters = ...  # type: Any
    def __init__(self, conf_file: Optional[Any] = ..., **kwargs) -> None: ...
    def format(self, plugin, key, value): ...
    def set_destination_conf_file(self, destination_id, conf_file): ...
    def set_destination_conf_element(self, destination_id, element): ...
    def set_destination_instrumenter(self, destination_id, job_instrumenter: Optional[Any] = ...): ...
    def collect_properties(self, destination_id, job_id, job_directory): ...

class NullJobInstrumenter:
    def pre_execute_commands(self, job_directory): ...
    def post_execute_commands(self, job_directory): ...
    def collect_properties(self, job_id, job_directory): ...

NULL_JOB_INSTRUMENTER = ...  # type: Any

class JobInstrumenter:
    extra_kwargs = ...  # type: Any
    plugin_classes = ...  # type: Any
    plugins = ...  # type: Any
    def __init__(self, plugin_classes, plugins_source, **kwargs) -> None: ...
    def pre_execute_commands(self, job_directory): ...
    def post_execute_commands(self, job_directory): ...
    def collect_properties(self, job_id, job_directory): ...
    @staticmethod
    def from_file(plugin_classes, conf_file, **kwargs): ...
