1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 02:41:11 +01:00
Commit Graph

1487 Commits

Author SHA1 Message Date
Sergei Trofimov
98219bbba9 fw/output_processor: fix typo 2018-05-14 17:05:06 +01:00
Marc Bonnici
a61bca1a54 target/info: Fix typo 2018-05-14 16:34:10 +01:00
Marc Bonnici
66fa8c856a doc: Fix code highlighting 2018-05-14 16:34:10 +01:00
Marc Bonnici
c12bdea1af doc/requirements: Fix online code highlighting
The default version of the readthedocs theme does not support code
highlighting correctly so manually specify a compatible version as per
https://github.com/rtfd/readthedocs.org/issues/4072
2018-05-14 16:34:10 +01:00
Marc Bonnici
2a66e40d9b doc/config: Do not generate API documentation
On the latest version of Sphinx the way we were doing API generation
caused issues. Due to the structure/formatting of our code base the
output was not very useful anyway so remove the automatic generation
with the aim to manually document the relevant API in the future.
2018-05-14 16:34:10 +01:00
Marc Bonnici
087c18c752 doc/migration_guide: Add references to confvalues 2018-05-11 18:06:24 +01:00
Marc Bonnici
19184ceaf6 doc: Update reference and fix typos 2018-05-11 18:06:24 +01:00
Marc Bonnici
86cc449203 doc: Improve description of context methods 2018-05-11 18:06:24 +01:00
Marc Bonnici
48a7ad9415 doc/output: Update output directory information 2018-05-11 18:06:24 +01:00
Marc Bonnici
9d0127d685 doc/installation: Fix formatting 2018-05-11 18:06:24 +01:00
Marc Bonnici
9251febafb doc/build_plugin_doc: Fix typo in function name 2018-05-11 18:06:24 +01:00
Sergei Trofimov
629abb1afc fw/target: add hostname to TargetInfo
Would especially be useful for Linux targets.
2018-05-10 11:51:24 +01:00
Sergei Trofimov
30eb98b275 fw/target: add hostid to TargetInfo
Add hostid entry, as reported by busybox's hostid applet, to TargetInfo.
This is intended to be a "unique 32-bit identifier for the current
machine". In practice, it may not be set, or may be generated from
something like an IP address, so may not be unique. However, if set, it
is still likely to be more unique than kernel/os version so may be worth
recording.
2018-05-10 11:51:24 +01:00
sergei Trofimov
181862b7ff fw/target: add sched_features to TargetInfo
Attempt to read scheduler features (debugfs might not be mounted) and
add them to TargetInfo.
2018-05-10 11:51:24 +01:00
sergei Trofimov
84fba8617d fw/target: enhanced cpu info
Replace Target.cpuinfo, which contained parsed contents of
/proc/cpuinfo, with a list of more comprehensive CpuInfo objects which
include cpufreq and cpuidle information as well.
2018-05-10 11:51:24 +01:00
sergei Trofimov
2d39e5699f fw/target: make TargetInfo more POD-like
Split out the loading of the TargetInfo from a target into a separate
function, leaving TargetInfo as a simple container.
2018-05-10 11:51:24 +01:00
Sergei Trofimov
1ffbce68c4 fw/execution: handle error on run initialize
- Use indentcontext inside initialize_run to make sure log level
  is dedented on error.
- Ensure Executor postamble always runs, event if runner errors.
- Fix format_duration() to handle sub-second timedeltas.
2018-05-10 11:49:30 +01:00
Sergei Trofimov
b41c3a3ea2 fw/plugin: implement __str__ for Plugin
Implement __str__ for Plugin in order to provide more readable
representations in logging.
2018-05-09 16:44:27 +01:00
Sergei Trofimov
2c28d5b214 fw/execution: implement __str__ for Executor
Implement __str__ for Executor in order to provide a more readable
representation in logs.
2018-05-09 16:44:27 +01:00
Sergei Trofimov
f477049181 fw/entrypoint: log commit hash if possible
Use get_wa_version_with_commit() instead of get_wa_version() when
logging WA version, so that the current commit is also logged, if
available.
2018-05-09 16:44:27 +01:00
Sergei Trofimov
2dbb6e8c18 fw/version: add get_wa_version_with_commit
Add a function to return WA version suffixed with the commit hash for
current HEAD. This only works if WA was deployed via

	python setup.py develop

otherwise, the output is identical to get_wa_version().
2018-05-09 16:44:27 +01:00
Sergei Trofimov
79c15ff02f fw/output: add sensible string representation
Add a useful string representation to output classes using class name and
the directory basename.
2018-05-09 16:44:27 +01:00
Sergei Trofimov
32701e7783 command/run: remove version/args logging.
This was moved to wa/framework/entrypoint.py but was kept here due to a
botched merge during a rebase.
2018-05-09 15:41:04 +01:00
sergei Trofimov
a34858672f fw/plugin: do not try to load imported classes
When scanning modules for plugins, only consider classes defined in that
module, but not those imported into it. This will prevent log output
being polluted with repeated "Skipping..." messages for imported plugin
bases.
2018-05-09 15:06:31 +01:00
sergei Trofimov
ecc68ee367 utils/log: add indentcontext
Add indentcontext context manager to save having to add try/finally
clauses around indenting code just to ensure dedenting.
2018-05-09 15:06:31 +01:00
sergei Trofimov
c1a0f842d0 utils/log: maintain indent for buffered records
Ensure buffered records are indented properly by saving the indent level
at the time the record was generated as part of the record, and
preferring that over the current indent level inside LineFormatter.
2018-05-09 15:06:31 +01:00
sergei Trofimov
7cf0b881c1 fw: move version and cmd line logging to main()
Move the logging of the WA version and command line used to invoke it
from run command into main() inside entrypoint. That way, these will be
the first entries in the log file, now that early log records are no
longer lost.
2018-05-09 15:06:31 +01:00
sergei Trofimov
1e750c659b utils/log: add early record buffering
Buffer early log records until a log file becomes available, flush
records to said file afterwards. This ensures that early log output,
which, among other things, contains plugin discovery logging, is not
lost. Buffer capacity is configurable via an environment variable.
2018-05-09 15:06:31 +01:00
sergei Trofimov
8d330924dc fw/entrypoint: fix typos 2018-05-09 15:06:31 +01:00
sergei Trofimov
dd9a72f043 fw/config: union augmentation aliases, rather than merge
If more then one of augmentation entries ("augmentations",
"instrumenatation", "output_processors") is specified in the same
config they were being merged into a single entry.

This can cause issues with '~~' (drop everything glyph) being "resolved"
during this merge and therefore not actually used to drop all previous
augmentations.

Union'ing, instead of merging, configs at the same level avoids that.
Note that this is semantically correct, as we're not enforcing
precedence at the same level of config, so merge semantics do not apply.
2018-05-08 10:50:48 +01:00
sergei Trofimov
aacba47f9a utils/types: toggle_set: add "~~" semantics
Add support for "~~" special value that indicates that, when merging
into another set, all values from that set should in fact be dropped.
Apart from the unique merge semantics, "~~" just like any other "~"
value.
2018-05-08 10:50:48 +01:00
sergei Trofimov
9093477f1b utils/types: fix toggle_set merge methods
- The merge_with and merge_into implementation was reversed. Fix this, so that
  it is implemented correctly, i.e. that
  	a.merge_with(b) === merge(a, b)
	a.merge_into(b) === merge(b, a)
- Ensure that in case of merge_into(), a toggle_set is always returned.
2018-05-08 10:50:48 +01:00
sergei Trofimov
5b03ac3afd config/core: JobsGenerator: delay augmentation split
Delay the split of augmentations into instruments and output processors
until they are actually being accessed; keep them as a single set until
then. This makes tracking of merges from various configurations sources
easier
2018-05-08 10:50:48 +01:00
Marc Bonnici
98e86efbda doc: Fix references 2018-04-30 09:14:22 +01:00
Marc Bonnici
2aeaedb8bc doc/build_plugin_docs: Improve plugin formatting.
Add a table of contents to the plugin list page along with page breaks
to divide things up.
2018-04-30 09:14:22 +01:00
Marc Bonnici
a0dfac78c3 utils/doc: Add function to generate a line break 2018-04-30 09:14:22 +01:00
Marc Bonnici
7cb11f66cf doc: add building of instrument method map 2018-04-30 09:14:22 +01:00
Marc Bonnici
9741014b35 doc: Fix formatting errors 2018-04-30 09:14:22 +01:00
Marc Bonnici
0fd095622c doc: Improve installing executables documentation 2018-04-30 09:14:22 +01:00
Marc Bonnici
1f9a233214 doc/agenda: Add documentation about classifiers 2018-04-30 09:14:22 +01:00
Marc Bonnici
c1171263f9 doc/faq: Add solution to "Unknown runtime parameter" 2018-04-30 09:14:22 +01:00
Marc Bonnici
504703d444 doc/migration_guide: Fix typo 2018-04-30 09:14:22 +01:00
Marc Bonnici
61a9c96a7d doc/device_setup: Add examples of installing modules to target 2018-04-30 09:14:22 +01:00
Marc Bonnici
f60b7eca16 doc/output_api: Improve examples 2018-04-30 09:14:22 +01:00
Marc Bonnici
8c9c1a8f1e docs/user_guide: Clarify basic run command information. 2018-04-30 09:14:22 +01:00
Marc Bonnici
81c6da9c2c Documentation: Add support for generating common target api 2018-04-30 09:14:22 +01:00
Marc Bonnici
f4b47bf65a Fix typos 2018-04-30 09:14:11 +01:00
sergei Trofimov
6965c05707 instruments/energy_measurement: add missing docs
- Add missing descriptions to backends.
- Describe how to get instrument-specific parameter descriptions in the
  help for instrument_parameters param of EnergyMeasurementInstrument
2018-04-27 18:10:02 +01:00
Marc Bonnici
1b557e5c5a commands/show: Add missing identifiers
Ensure that plugin names are converted to identifiers when searching for
plugins.
2018-04-27 16:29:53 +01:00
Sascha Bischoff
99f8efbaf5 workloads/stress-ng: Port stress-ng from WA2
stress-ng will stress test a computer system in various selectable
ways.  It was designed to exercise various physical subsystems of a
computer as well as the various operating system kernel interfaces.
2018-04-27 16:29:33 +01:00