mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-01-18 12:06:08 +00:00
wa: Rename Instrumentation
to Instruments
To be maintain a consistent naming scheme, rename all instances of `Instrumentation` to `Instruments`
This commit is contained in:
parent
987f4ec4f1
commit
446a1cfbb0
@ -8,7 +8,7 @@ from wa.framework.exception import (OutputProcessorError, ResourceError,
|
|||||||
from wa.framework.exception import (WAError, NotFoundError, ValidationError,
|
from wa.framework.exception import (WAError, NotFoundError, ValidationError,
|
||||||
WorkloadError)
|
WorkloadError)
|
||||||
from wa.framework.exception import WorkerThreadError, PluginLoaderError
|
from wa.framework.exception import WorkerThreadError, PluginLoaderError
|
||||||
from wa.framework.instrumentation import (Instrument, very_slow, slow, normal, fast,
|
from wa.framework.instruments import (Instrument, very_slow, slow, normal, fast,
|
||||||
very_fast)
|
very_fast)
|
||||||
from wa.framework.output import RunOutput, discover_wa_outputs
|
from wa.framework.output import RunOutput, discover_wa_outputs
|
||||||
from wa.framework.plugin import Plugin, Parameter
|
from wa.framework.plugin import Plugin, Parameter
|
||||||
|
@ -36,7 +36,7 @@ class CreateAgendaSubcommand(SubCommand):
|
|||||||
|
|
||||||
def execute(self, state, args):
|
def execute(self, state, args):
|
||||||
agenda = OrderedDict()
|
agenda = OrderedDict()
|
||||||
agenda['config'] = OrderedDict(instrumentation=[], output_processors=[])
|
agenda['config'] = OrderedDict(instruments=[], output_processors=[])
|
||||||
agenda['global'] = OrderedDict(iterations=args.iterations)
|
agenda['global'] = OrderedDict(iterations=args.iterations)
|
||||||
agenda['workloads'] = []
|
agenda['workloads'] = []
|
||||||
target_desc = None
|
target_desc = None
|
||||||
@ -64,7 +64,7 @@ class CreateAgendaSubcommand(SubCommand):
|
|||||||
agenda['workloads'].append(entry)
|
agenda['workloads'].append(entry)
|
||||||
else:
|
else:
|
||||||
if extcls.kind == 'instrument':
|
if extcls.kind == 'instrument':
|
||||||
agenda['config']['instrumentation'].append(name)
|
agenda['config']['instruments'].append(name)
|
||||||
if extcls.kind == 'output_processor':
|
if extcls.kind == 'output_processor':
|
||||||
agenda['config']['output_processors'].append(name)
|
agenda['config']['output_processors'].append(name)
|
||||||
agenda['config'][name] = config
|
agenda['config'][name] = config
|
||||||
|
@ -76,7 +76,7 @@ class RunCommand(Command):
|
|||||||
metavar='INSTRUMENT', help="""
|
metavar='INSTRUMENT', help="""
|
||||||
Specify an instrument or output processor to
|
Specify an instrument or output processor to
|
||||||
disable from the command line. This equivalent
|
disable from the command line. This equivalent
|
||||||
to adding "~{metavar}" to the instrumentation
|
to adding "~{metavar}" to the instruments
|
||||||
list in the agenda. This can be used to
|
list in the agenda. This can be used to
|
||||||
temporarily disable a troublesome instrument
|
temporarily disable a troublesome instrument
|
||||||
for a particular run without introducing
|
for a particular run without introducing
|
||||||
|
@ -76,7 +76,7 @@ class AgendaWorkloadEntry(AgendaEntry):
|
|||||||
self.workload_parameters = get_aliased_param(kwargs,
|
self.workload_parameters = get_aliased_param(kwargs,
|
||||||
['workload_parameters', 'workload_params', 'params'],
|
['workload_parameters', 'workload_params', 'params'],
|
||||||
default=OrderedDict())
|
default=OrderedDict())
|
||||||
self.instrumentation = kwargs.pop('instrumentation', [])
|
self.instruments = kwargs.pop('instruments', [])
|
||||||
self.flash = kwargs.pop('flash', OrderedDict())
|
self.flash = kwargs.pop('flash', OrderedDict())
|
||||||
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
||||||
if kwargs:
|
if kwargs:
|
||||||
@ -103,7 +103,7 @@ class AgendaSectionEntry(AgendaEntry):
|
|||||||
self.workload_parameters = get_aliased_param(kwargs,
|
self.workload_parameters = get_aliased_param(kwargs,
|
||||||
['workload_parameters', 'workload_params'],
|
['workload_parameters', 'workload_params'],
|
||||||
default=OrderedDict())
|
default=OrderedDict())
|
||||||
self.instrumentation = kwargs.pop('instrumentation', [])
|
self.instruments = kwargs.pop('instruments', [])
|
||||||
self.flash = kwargs.pop('flash', OrderedDict())
|
self.flash = kwargs.pop('flash', OrderedDict())
|
||||||
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
||||||
self.workloads = []
|
self.workloads = []
|
||||||
@ -136,7 +136,7 @@ class AgendaGlobalEntry(AgendaEntry):
|
|||||||
self.workload_parameters = get_aliased_param(kwargs,
|
self.workload_parameters = get_aliased_param(kwargs,
|
||||||
['workload_parameters', 'workload_params'],
|
['workload_parameters', 'workload_params'],
|
||||||
default=OrderedDict())
|
default=OrderedDict())
|
||||||
self.instrumentation = kwargs.pop('instrumentation', [])
|
self.instruments = kwargs.pop('instruments', [])
|
||||||
self.flash = kwargs.pop('flash', OrderedDict())
|
self.flash = kwargs.pop('flash', OrderedDict())
|
||||||
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
self.classifiers = kwargs.pop('classifiers', OrderedDict())
|
||||||
if kwargs:
|
if kwargs:
|
||||||
|
@ -557,7 +557,7 @@ class MetaConfiguration(Configuration):
|
|||||||
'wa.commands',
|
'wa.commands',
|
||||||
'wa.framework.getters',
|
'wa.framework.getters',
|
||||||
'wa.framework.target.descriptor',
|
'wa.framework.target.descriptor',
|
||||||
'wa.instrumentation',
|
'wa.instruments',
|
||||||
'wa.output_processors',
|
'wa.output_processors',
|
||||||
'wa.workloads',
|
'wa.workloads',
|
||||||
]
|
]
|
||||||
|
@ -23,7 +23,7 @@ def _format_yaml_comment(param, short_description=False):
|
|||||||
|
|
||||||
def _format_instruments(output):
|
def _format_instruments(output):
|
||||||
plugin_cache = PluginCache()
|
plugin_cache = PluginCache()
|
||||||
output.write("instrumentation:\n")
|
output.write("instruments:\n")
|
||||||
for plugin in DEFAULT_INSTRUMENTS:
|
for plugin in DEFAULT_INSTRUMENTS:
|
||||||
plugin_cls = plugin_cache.loader.get_plugin_class(plugin)
|
plugin_cls = plugin_cache.loader.get_plugin_class(plugin)
|
||||||
output.writelines(_format_yaml_comment(plugin_cls, short_description=True))
|
output.writelines(_format_yaml_comment(plugin_cls, short_description=True))
|
||||||
|
@ -208,10 +208,10 @@ def _load_file(filepath, error_name):
|
|||||||
|
|
||||||
def merge_augmentations(raw):
|
def merge_augmentations(raw):
|
||||||
"""
|
"""
|
||||||
Since, from configuration perspective, output processors and instrumens are
|
Since, from configuration perspective, output processors and instruments are
|
||||||
handled identically, the configuration entries are now interchangeable. E.g. it is
|
handled identically, the configuration entries are now interchangeable. E.g. it is
|
||||||
now valid to specify a output processor in instrumentation list. This is to make things
|
now valid to specify a output processor in an instruments list. This is to make things
|
||||||
eassier for the users, as, from their perspective, the distinction is somewhat arbitrary.
|
easier for the users, as, from their perspective, the distinction is somewhat arbitrary.
|
||||||
|
|
||||||
For backwards compatibility, both entries are still valid, and this
|
For backwards compatibility, both entries are still valid, and this
|
||||||
function merges them together into a single "augmentations" set, ensuring
|
function merges them together into a single "augmentations" set, ensuring
|
||||||
@ -265,7 +265,7 @@ def _construct_valid_entry(raw, seen_ids, prefix, jobs_config):
|
|||||||
else:
|
else:
|
||||||
workload_entry['id'] = raw.pop('id')
|
workload_entry['id'] = raw.pop('id')
|
||||||
|
|
||||||
# Process instrumentation
|
# Process instruments
|
||||||
merge_augmentations(raw)
|
merge_augmentations(raw)
|
||||||
|
|
||||||
# Validate all workload_entry
|
# Validate all workload_entry
|
||||||
|
@ -20,7 +20,7 @@ from copy import copy
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import wa.framework.signal as signal
|
import wa.framework.signal as signal
|
||||||
from wa.framework import instrumentation
|
from wa.framework import instruments
|
||||||
from wa.framework.configuration.core import Status
|
from wa.framework.configuration.core import Status
|
||||||
from wa.framework.exception import HostError, WorkloadError
|
from wa.framework.exception import HostError, WorkloadError
|
||||||
from wa.framework.job import Job
|
from wa.framework.job import Job
|
||||||
@ -300,10 +300,10 @@ class Executor(object):
|
|||||||
output.write_job_specs(config_manager.job_specs)
|
output.write_job_specs(config_manager.job_specs)
|
||||||
output.write_state()
|
output.write_state()
|
||||||
|
|
||||||
self.logger.info('Installing instrumentation')
|
self.logger.info('Installing instruments')
|
||||||
for instrument in config_manager.get_instruments(self.target_manager.target):
|
for instrument in config_manager.get_instruments(self.target_manager.target):
|
||||||
instrumentation.install(instrument, context)
|
instruments.install(instrument, context)
|
||||||
instrumentation.validate()
|
instruments.validate()
|
||||||
|
|
||||||
self.logger.info('Installing output processors')
|
self.logger.info('Installing output processors')
|
||||||
pm = ProcessorManager()
|
pm = ProcessorManager()
|
||||||
|
@ -78,7 +78,7 @@ stop method::
|
|||||||
|
|
||||||
The generated output can be updated inside update_output, or if it is trace, we
|
The generated output can be updated inside update_output, or if it is trace, we
|
||||||
just pull the file to the host device. context has an output variable which
|
just pull the file to the host device. context has an output variable which
|
||||||
has add_metric method. It can be used to add the instrumentation results metrics
|
has add_metric method. It can be used to add the instruments results metrics
|
||||||
to the final result for the workload. The method can be passed 4 params, which
|
to the final result for the workload. The method can be passed 4 params, which
|
||||||
are metric key, value, unit and lower_is_better, which is a boolean. ::
|
are metric key, value, unit and lower_is_better, which is a boolean. ::
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ are metric key, value, unit and lower_is_better, which is a boolean. ::
|
|||||||
# parse the file if needs to be parsed, or add result to
|
# parse the file if needs to be parsed, or add result to
|
||||||
# context.result
|
# context.result
|
||||||
|
|
||||||
At the end, we might want to delete any files generated by the instrumentation
|
At the end, we might want to delete any files generated by the instruments
|
||||||
and the code to clear these file goes in teardown method. ::
|
and the code to clear these file goes in teardown method. ::
|
||||||
|
|
||||||
def teardown(self, context):
|
def teardown(self, context):
|
||||||
@ -111,7 +111,7 @@ from wa.utils.misc import isiterable
|
|||||||
from wa.utils.types import identifier, enum, level
|
from wa.utils.types import identifier, enum, level
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger('instrumentation')
|
logger = logging.getLogger('instruments')
|
||||||
|
|
||||||
|
|
||||||
# Maps method names onto signals the should be registered to.
|
# Maps method names onto signals the should be registered to.
|
||||||
@ -121,7 +121,7 @@ logger = logging.getLogger('instrumentation')
|
|||||||
# in the documentation
|
# in the documentation
|
||||||
SIGNAL_MAP = OrderedDict([
|
SIGNAL_MAP = OrderedDict([
|
||||||
# Below are "aliases" for some of the more common signals to allow
|
# Below are "aliases" for some of the more common signals to allow
|
||||||
# instrumentation to have similar structure to workloads
|
# instruments to have similar structure to workloads
|
||||||
('initialize', signal.RUN_INITIALIZED),
|
('initialize', signal.RUN_INITIALIZED),
|
||||||
('setup', signal.BEFORE_WORKLOAD_SETUP),
|
('setup', signal.BEFORE_WORKLOAD_SETUP),
|
||||||
('start', signal.BEFORE_WORKLOAD_EXECUTION),
|
('start', signal.BEFORE_WORKLOAD_EXECUTION),
|
||||||
@ -403,7 +403,7 @@ def get_disabled():
|
|||||||
|
|
||||||
class Instrument(Plugin):
|
class Instrument(Plugin):
|
||||||
"""
|
"""
|
||||||
Base class for instrumentation implementations.
|
Base class for instrument implementations.
|
||||||
"""
|
"""
|
||||||
kind = "instrument"
|
kind = "instrument"
|
||||||
|
|
@ -2,7 +2,7 @@ import logging
|
|||||||
|
|
||||||
from wa.framework import pluginloader
|
from wa.framework import pluginloader
|
||||||
from wa.framework.exception import ConfigError
|
from wa.framework.exception import ConfigError
|
||||||
from wa.framework.instrumentation import is_installed
|
from wa.framework.instruments import is_installed
|
||||||
from wa.framework.plugin import Plugin
|
from wa.framework.plugin import Plugin
|
||||||
from wa.utils.log import log_error, indent, dedent
|
from wa.utils.log import log_error, indent, dedent
|
||||||
|
|
||||||
|
@ -224,12 +224,12 @@ def connect(handler, signal, sender=dispatcher.Any, priority=0):
|
|||||||
:handler: This can be any callable that that takes the right arguments for
|
:handler: This can be any callable that that takes the right arguments for
|
||||||
the signal. For most signals this means a single argument that
|
the signal. For most signals this means a single argument that
|
||||||
will be an ``ExecutionContext`` instance. But please see documentation
|
will be an ``ExecutionContext`` instance. But please see documentation
|
||||||
for individual signals in the :ref:`signals reference <instrumentation_method_map>`.
|
for individual signals in the :ref:`signals reference <instruments_method_map>`.
|
||||||
:signal: The signal to which the handler will be subscribed. Please see
|
:signal: The signal to which the handler will be subscribed. Please see
|
||||||
:ref:`signals reference <instrumentation_method_map>` for the list of standard WA
|
:ref:`signals reference <instruments_method_map>` for the list of standard WA
|
||||||
signals.
|
signals.
|
||||||
|
|
||||||
.. note:: There is nothing that prevents instrumentation from sending their
|
.. note:: There is nothing that prevents instruments from sending their
|
||||||
own signals that are not part of the standard set. However the signal
|
own signals that are not part of the standard set. However the signal
|
||||||
must always be an :class:`wa.core.signal.Signal` instance.
|
must always be an :class:`wa.core.signal.Signal` instance.
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ def connect(handler, signal, sender=dispatcher.Any, priority=0):
|
|||||||
Defaults to 0.
|
Defaults to 0.
|
||||||
|
|
||||||
.. note:: Priorities for some signals are inverted (so highest priority
|
.. note:: Priorities for some signals are inverted (so highest priority
|
||||||
handlers get executed last). Please see :ref:`signals reference <instrumentation_method_map>`
|
handlers get executed last). Please see :ref:`signals reference <instruments_method_map>`
|
||||||
for details.
|
for details.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -18,7 +18,7 @@ import os
|
|||||||
|
|
||||||
from wa import Instrument, Parameter
|
from wa import Instrument, Parameter
|
||||||
from wa.framework.exception import InstrumentError
|
from wa.framework.exception import InstrumentError
|
||||||
from wa.framework.instrumentation import slow
|
from wa.framework.instruments import slow
|
||||||
from wa.utils.misc import ensure_file_directory_exists as _f
|
from wa.utils.misc import ensure_file_directory_exists as _f
|
||||||
|
|
||||||
class DmesgInstrument(Instrument):
|
class DmesgInstrument(Instrument):
|
@ -242,12 +242,12 @@ class EnergyMeasurement(Instrument):
|
|||||||
Parameter('instrument', kind=str, mandatory=True,
|
Parameter('instrument', kind=str, mandatory=True,
|
||||||
allowed_values=['daq', 'energy_probe', 'acme_cape', 'monsoon', 'juno_readenergy'],
|
allowed_values=['daq', 'energy_probe', 'acme_cape', 'monsoon', 'juno_readenergy'],
|
||||||
description="""
|
description="""
|
||||||
Specify the energy instrumentation to be enabled.
|
Specify the energy instruments to be enabled.
|
||||||
"""),
|
"""),
|
||||||
Parameter('instrument_parameters', kind=dict, default={},
|
Parameter('instrument_parameters', kind=dict, default={},
|
||||||
description="""
|
description="""
|
||||||
Specify the parameters used to initialize the desired
|
Specify the parameters used to initialize the desired
|
||||||
instrumentation.
|
instruments.
|
||||||
"""),
|
"""),
|
||||||
Parameter('sites', kind=list_or_string,
|
Parameter('sites', kind=list_or_string,
|
||||||
description="""
|
description="""
|
||||||
@ -271,7 +271,7 @@ class EnergyMeasurement(Instrument):
|
|||||||
|
|
||||||
def __init__(self, target, loader=pluginloader, **kwargs):
|
def __init__(self, target, loader=pluginloader, **kwargs):
|
||||||
super(EnergyMeasurement, self).__init__(target, **kwargs)
|
super(EnergyMeasurement, self).__init__(target, **kwargs)
|
||||||
self.instrumentation = None
|
self.instruments = None
|
||||||
self.measurement_csvs = {}
|
self.measurement_csvs = {}
|
||||||
self.loader = loader
|
self.loader = loader
|
||||||
self.backend = self.loader.get_plugin(self.instrument)
|
self.backend = self.loader.get_plugin(self.instrument)
|
@ -16,7 +16,7 @@
|
|||||||
from devlib import HwmonInstrument as _Instrument
|
from devlib import HwmonInstrument as _Instrument
|
||||||
|
|
||||||
from wa import Instrument
|
from wa import Instrument
|
||||||
from wa.framework.instrumentation import fast
|
from wa.framework.instruments import fast
|
||||||
|
|
||||||
MOMENTARY_QUANTITIES = ['temperature', 'power', 'voltage', 'current', 'fps']
|
MOMENTARY_QUANTITIES = ['temperature', 'power', 'voltage', 'current', 'fps']
|
||||||
CUMULATIVE_QUANTITIES = ['energy', 'tx', 'tx/rx', 'frames']
|
CUMULATIVE_QUANTITIES = ['energy', 'tx', 'tx/rx', 'frames']
|
@ -39,7 +39,7 @@ from devlib.utils.android import ApkInfo
|
|||||||
|
|
||||||
from wa import Instrument, Parameter, very_fast
|
from wa import Instrument, Parameter, very_fast
|
||||||
from wa.framework.exception import ConfigError
|
from wa.framework.exception import ConfigError
|
||||||
from wa.framework.instrumentation import slow
|
from wa.framework.instruments import slow
|
||||||
from wa.utils.misc import as_relative, diff_tokens, write_table
|
from wa.utils.misc import as_relative, diff_tokens, write_table
|
||||||
from wa.utils.misc import ensure_file_directory_exists as _f
|
from wa.utils.misc import ensure_file_directory_exists as _f
|
||||||
from wa.utils.misc import ensure_directory_exists as _d
|
from wa.utils.misc import ensure_directory_exists as _d
|
@ -22,7 +22,7 @@ from devlib import FtraceCollector
|
|||||||
|
|
||||||
from wa import Instrument, Parameter
|
from wa import Instrument, Parameter
|
||||||
from wa.framework import signal
|
from wa.framework import signal
|
||||||
from wa.framework.instrumentation import very_slow
|
from wa.framework.instruments import very_slow
|
||||||
from wa.framework.exception import InstrumentError
|
from wa.framework.exception import InstrumentError
|
||||||
from wa.utils.types import list_of_strings
|
from wa.utils.types import list_of_strings
|
||||||
from wa.utils.misc import which
|
from wa.utils.misc import which
|
Loading…
x
Reference in New Issue
Block a user