wlauto.instrumentation.misc package

Module contents

Some “standard” instruments to collect additional info about workload execution.

Note

The run() method of a Workload may perform some “boilerplate” as well as the actual execution of the workload (e.g. it may contain UI automation needed to start the workload). This “boilerplate” execution will also be measured by these instruments. As such, they are not suitable for collected precise data about specific operations.

class wlauto.instrumentation.misc.DynamicFrequencyInstrument(device, **kwargs)[source]

Bases: wlauto.instrumentation.misc.FsExtractor

aliases = AC([])
artifacts = AC([])
core_modules = []
description = '\n Collects dynamic frequency (DVFS) settings before and after workload execution.\n\n '
finalize(*args, **kwargs)
initialize(*args, **kwargs)
kind = 'instrument'
name = 'cpufreq'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'_overridden': 'DynamicFrequencyInstrument', 'kind': <function list_of_strs>, 'mandatory': False, 'name': 'paths', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': 'sysfs_extract_dirs', 'override': True})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'use_tmpfs', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_mount_point', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_size', 'constraint': None, 'default': '32m', 'allowed_values': None, 'global_alias': None, 'override': False})"])
setup(context)[source]
tarname = 'cpufreq.tar'
validate(*args, **kwargs)
class wlauto.instrumentation.misc.ExecutionTimeInstrument(device, **kwargs)[source]

Bases: wlauto.core.instrumentation.Instrument

aliases = AC([])
artifacts = AC([])
core_modules = []
description = '\n Measure how long it took to execute the run() methods of a Workload.\n\n '
finalize(*args, **kwargs)
get_start_time(context)[source]
get_stop_time(context)[source]
initialize(*args, **kwargs)
kind = 'instrument'
name = 'execution_time'
on_run_start(context)[source]
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})"])
priority = 15
update_result(context)[source]
validate(*args, **kwargs)
class wlauto.instrumentation.misc.FsExtractor(device, **kwargs)[source]

Bases: wlauto.core.instrumentation.Instrument

AFTER_PATH = 2
BEFORE_PATH = 1
DEVICE_PATH = 0
DIFF_PATH = 3
aliases = AC([])
artifacts = AC([])
core_modules = []
extract_timeout = 30
finalize(*args, **kwargs)
initialize(*args, **kwargs)
initialize_tmpfs(context)[source]
mount_command = 'mount -t tmpfs -o size={} tmpfs {}'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_of_strs>, 'mandatory': True, 'name': 'paths', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': 'sysfs_extract_dirs', 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'use_tmpfs', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_mount_point', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_size', 'constraint': None, 'default': '32m', 'allowed_values': None, 'global_alias': None, 'override': False})"])
setup(context)[source]
slow_start(context)[source]
slow_stop(context)[source]
tarname = 'sysfs.tar'
teardown(context)[source]
update_result(context)[source]
validate(*args, **kwargs)
class wlauto.instrumentation.misc.InterruptStatsInstrument(device, **kwargs)[source]

Bases: wlauto.core.instrumentation.Instrument

aliases = AC([])
artifacts = AC([])
core_modules = []
description = '\n Pulls the ``/proc/interrupts`` file before and after workload execution and diffs them\n to show what interrupts occurred during that time.\n\n '
finalize(*args, **kwargs)
initialize(*args, **kwargs)
kind = 'instrument'
name = 'interrupts'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})"])
setup(context)[source]
start(context)[source]
stop(context)[source]
update_result(context)[source]
validate(*args, **kwargs)
class wlauto.instrumentation.misc.SysfsExtractor(device, **kwargs)[source]

Bases: wlauto.instrumentation.misc.FsExtractor

aliases = AC([])
artifacts = AC([])
core_modules = []
description = '\n Collects the contest of a set of directories, before and after workload execution\n and diffs the result.\n\n '
finalize(*args, **kwargs)
initialize(*args, **kwargs)
kind = 'instrument'
name = 'sysfs_extractor'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_of_strs>, 'mandatory': True, 'name': 'paths', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': 'sysfs_extract_dirs', 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'use_tmpfs', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_mount_point', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'tmpfs_size', 'constraint': None, 'default': '32m', 'allowed_values': None, 'global_alias': None, 'override': False})"])
validate(*args, **kwargs)