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

1315 Commits

Author SHA1 Message Date
Marc Bonnici
b7c70aabae doc: Remove run_config directory`
Remove auto generated run_config directory, add to .gitignore and clear
on `make clean`
2018-05-21 10:26:28 +01:00
Marc Bonnici
52b2df427e doc/show_cmd: Reword description and add settings option 2018-05-21 10:26:28 +01:00
Marc Bonnici
9986423365 doc: Add documentation for the process command 2018-05-21 10:26:28 +01:00
Sergei Trofimov
192bebbc23 doc: update and extend Output docs
- Move output processing API docs into developer reference.
- Add a section on output directory structure to user reference.
- Rewrite the output section of the user guide to provide a very
  brief overview of the output directory and to link to the two
  sections above.
2018-05-18 17:52:49 +01:00
Sergei Trofimov
5291e389dc fw/output: implement __str__ JobOutput
Implement a __str__ method for JobOutput to make it easier to format it
into messages.
2018-05-18 17:52:49 +01:00
Sergei Trofimov
050722ee8f doc: user_guide: add a note about show command
Add a note describing the usage of "wa show"
2018-05-18 16:50:48 +01:00
Sergei Trofimov
887cdcc411 commands/show: change man section to 7
Change the man page section from 1 7. "Misc. information" is more
appropriate for plugin documentation than "Executable commands".
2018-05-18 16:50:48 +01:00
Sergei Trofimov
b1b2131b0c doc: fix build warnings 2018-05-18 10:32:08 +01:00
scott
3f7f0b38f5 PCMark: Porting to WA3 2018-05-15 16:09:38 +01:00
Sergei Trofimov
d0368cf176 doc: re-write augmentations docs
Rewrite the "Output processors and Instruments" section into
"Augmentations" section.
2018-05-14 17:08:14 +01:00
Sergei Trofimov
c6fae6fa55 doc: update how-tos' titles
Update agenda and revent how-tos' titles to be more informative.
2018-05-14 17:08:14 +01:00
Sergei Trofimov
ee7734efd7 doc: agenda: add note about plugin names
Add a note explaining how plugin names are treated, and which names are
considered to be identical.
2018-05-14 17:08:14 +01:00
Sergei Trofimov
06b64de1be doc: user guide: fix result --> output
Fix an old reference to "result processors", correcting it to "output
processors".
2018-05-14 17:08:14 +01:00
Sergei Trofimov
cab67be33b .gitignore update
Add the generated file instrument_method_map.rst to .gitignore.
2018-05-14 17:08:14 +01:00
Marc Bonnici
6754ecd6d7 wa/workloads: Update to consistently use timeout parameter 2018-05-14 17:07:49 +01:00
Marc Bonnici
a23c896647 wa/workloads: Update to use threads parameter
Update workloads to use `threads` parameter to try and keep
configuration more consistent across workloads.
2018-05-14 17:07:49 +01:00
Marc Bonnici
47ec0c7720 workloads/meabo: Update parameter names to be more consistent
Rename `nrow` and `ncol` to `num_rows` and `num_cols` respectively to be
more consistent with the other parameter names.
2018-05-14 17:07:49 +01:00
Marc Bonnici
6f5fca36df wa/workloads: Change to use 'loops' parameter.
Change to consistently use 'loops' parameter instead of 'iterations'
etc.
2018-05-14 17:07:49 +01:00
Marc Bonnici
8d7d32d180 wa/workloads: Update to use new cpu_mask type
Update workloads that allow for specifying which cpus to be ran on to
all use the same interface while maintaining backwards compatibility with
the existing configuration options.
2018-05-14 17:07:49 +01:00
Marc Bonnici
670fe6fb83 wa/types: Add cpu_mask type
Add a cpu_mask type to allow for users to use a consistent way of representing a
cpus mask with properties to provide conversions between the various required
forms. The mask can be specified directly as a mask, as a list of cpus indexes
or a sysfs-style string.
Also add support for the type to be serialized/deserialzed for the json
and yaml serializers.
2018-05-14 17:07:49 +01:00
Sergei Trofimov
a2b0705ff0 processors: add cpustates
Add cpustates output processor. This is more-or-less a port of the
cpustates processor from WA, however there are some differences:

- Idle states are now tracked individually per-CPU. This will fix
  processing traces from targets that have different number of idle
  states on different clusters.
- Simplify the parameter list for report_power_stats:
    - Replace paths to individual report files with a path to a single
      directory. A subdirectory will be created under it which will
      contain all the reports.
    - Replace the individual bits bits of information about CPUs (core
      names, idle states, etc) with a list of CpuInfo objects.
- Clean up and simplify the code a bit:
    - Make all reports mandatory -- the marginal cost of generating
      an additional report is minimal compared to tracking power states
      in the first place.
    - Standardize the interface for Reporters and Reports.
- Rename some of the reports to something a bit more meaningful.
- The stand-alone command line interface is not ported for now, as it
  is now possible to run this offline on existing results using
  "wa process".
2018-05-14 17:05:06 +01:00
Sergei Trofimov
e7e272cd03 utils/trace_cmd: add trace_has_marker()
Add a function to check whether a trace file contains start/stop markers
(actually only check for start marker -- stop marker is assumed).
2018-05-14 17:05:06 +01:00
Sergei Trofimov
795b3485ce utils/trace_cmd: move params to __init__()
Move the check_for_markers and events parameters from parser() to
__init__(). These parameters control the behavior of the parser, and do
not relate to a particular trace file, so it makes more sense to have
them there.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
ed1553816b commands/process: write result in the end
Running additional processors will generate new metrics and artifacts.
Update the serialized metadata with the new artifacts/metrics after
running all processors.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
8a219d0e5a commands/process: improve logging
- Add a logging to indicate what is being processed.
- Log to file.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
0a5ceabc73 fw/execution: finalize jobs before run.
Finalize jobs before performing whole-run finalization. This makes more
sense than finalizing individual jobs after run as a whole has been
finalized.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
ec66ae2f6f instrument/trace_cmd: Log the pulling of trace
Extracting trace and pulling the trace file from the target can take a
relatively long time, as the trace file can be tens, and even hundreds,
of MB. Add an info-level log message to inform the user why WA execution
appears to have paused for a few seconds.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
9226a3b92a fw: fix job logging indent
- Have the job manage the indent of each of its stages
- Switch output_processor to using indentcontext
- Move the "Configuring augmentations" log line into Job -- the
  rest of the stages are logged there, but this was done by the
  Executor for some reason.
2018-05-14 17:05:06 +01:00
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