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

923 Commits

Author SHA1 Message Date
Sergei Trofimov
2ff1a87e53 utils/types: fix toggle_set docstring
The docstring claimed that the toggle_set was "A list that...".
2017-11-03 17:33:32 +00:00
Sergei Trofimov
f5cc58d847 framework/config: add get_plugin_class to PluginCache
Expose PluginLoader's get_plugin_class via PluginCache. PluginCache is
basically intented to act like a PluginLoader, except when instantiating
plugins, the "default" parameter values are taken form the cached
configruation, rather than the actual defaults defined in the Plugin's
parmaters.
2017-11-03 17:33:32 +00:00
Brendan Jackman
2c1d37fb6b csvproc: Fix process_run_output method name 2017-11-03 14:07:44 +00:00
Brendan Jackman
a9740f37a2 csvproc: Typo 2017-11-03 14:07:44 +00:00
Brendan Jackman
b88004be94 csvproc: Whitespace 2017-11-03 14:07:44 +00:00
Brendan Jackman
bf14242c74 framework/signal: Fix typos 2017-11-03 14:07:44 +00:00
Brendan Jackman
47e9b95d4d framework/signal: Whitespace 2017-11-03 14:07:44 +00:00
Brendan Jackman
200aa84d0b exoplayer: Add an ogg format option 2017-10-31 09:11:04 +00:00
Brendan Jackman
d749fe0f8e exoplayer: call validate from init_resources 2017-10-31 09:11:04 +00:00
Brendan Jackman
df2ae3c451 exoplayer: Add metric for dropped frames 2017-10-31 09:11:04 +00:00
Brendan Jackman
b17a0d30c0 exoplayer: Add exoplayer workload
This is based heavily on a combination of WA2's video workload and LISA's
exoplayer workload.
2017-10-31 09:11:04 +00:00
Sascha Bischoff
9b58662ae7 workloads/dhrystone: Fix taskset
Was invoking busybox in a hardcoded way, and was not using
self.target.busybox. Updated to use the correct version.
2017-10-26 12:34:35 +01:00
setrofim
6df4b33d3f Merge pull request #528 from bjackman/geekbench-fixes
Geekbench fixes
2017-10-26 08:01:35 +01:00
Brendan Jackman
74bf1a82e0 geekbench: Allow on unrooted when disable_update_result 2017-10-25 19:38:40 +01:00
Brendan Jackman
a08d6262ba geekbench: Use root to pull results XML file
This is required, I don't know why this was working before. Maybe only tested
after people had run 'adb root'?
2017-10-25 19:15:46 +01:00
setrofim
eb0f53c8f6 Merge pull request #519 from bjackman/requires-network
Add Workload.requires_network
2017-10-24 14:36:42 +01:00
setrofim
829ac73f06 Merge pull request #525 from setrofim/next
Fixes.
2017-10-23 18:04:25 +01:00
setrofim
807a2e13dd Merge pull request #527 from bjackman/dmesg-fix
Dmesg instrument fixes
2017-10-23 17:52:00 +01:00
setrofim
dc4b517231 Merge pull request #521 from bjackman/failed-init-no-kill
framework: Add bail_on_init_failure run configuration
2017-10-23 17:50:41 +01:00
setrofim
303679124c Merge pull request #526 from bjackman/log-error-fix
Fix logging error when exception raised
2017-10-23 17:49:44 +01:00
Brendan Jackman
4b7d43de9e utils/log: Convert exception to string before passing to Logger
Now that we add an event when logging errors, we need to avoid passing an
exception object directly to the logger. Otherwise we end up adding the
unserializable Exception object to the events list, which causes an error when
trying to write the output.
2017-10-23 17:25:15 +01:00
Brendan Jackman
b11bd6cf12 utils/log: Whitespace 2017-10-23 17:25:02 +01:00
Brendan Jackman
462c3eaa78 instrumentation/dmesg: Fix missing @slow decorator 2017-10-23 17:10:39 +01:00
Brendan Jackman
c7af676d00 instrumentation/dmesg: Fix use of devlib APIs
I missed these call sites when porting this from WA2.
2017-10-23 16:49:27 +01:00
Brendan Jackman
9fa1b133dc framework: Add bail_on_init_failure run configuration
This maintains the default behaviour of bailing out immediately if any workload
fails in initialize(), but adds a setting, bail_on_init_failure, to change this
behaviour optionally. This can be useful where WA is being used more as a batch
processor.
2017-10-23 16:44:49 +01:00
Brendan Jackman
4a001713bb framework/execution: Factor out skip_job method
This also fixes the missing housekeeping when skipping a job due to phones_home
2017-10-23 16:44:49 +01:00
Sergei Trofimov
890428dbf6 framework/execution: fix end of run status reporting
Changes to the Status enum introduced by 31a535b5 and a9959550 broke
ran Jobs summary status at the end of the run. This fixes it so that the
total number of jobs and individual status counts are reported
correctly.
2017-10-23 14:31:24 +01:00
Sergei Trofimov
4826f8f2f2 framework/target: fix generic "frequency" runtime param
The generic "frequency" runtime parameter was only being set when there
are common frequences between avialable cores. It should always be set,
even if there are no frequencies in common, as it still valid to use it
with special values "min" and "max", in which case it should resolve
correctly to the appropriate frequencies.
2017-10-23 14:31:24 +01:00
setrofim
ccaeb5a142 Merge pull request #524 from setrofim/logger-events
Logger events
2017-10-23 14:27:36 +01:00
Sergei Trofimov
8dd1e6636c framework: set context for loggers
Set context for the loggers of the Runner, the workloads and the
installed instruments and processors. Errors/warnings logged by these
entities will be automatically added as events.
2017-10-23 12:28:49 +01:00
Sergei Trofimov
47d883de09 utils/log: add ContextLogger
Add ContextLogger wich extends logging.Logger's  warning and error
methods to automatically add the message to the context's events (if a
context has been provided).
2017-10-23 12:28:29 +01:00
setrofim
551b47a958 Merge pull request #522 from bjackman/job-log-iteration
framework/job: Include job iteration in log messages
2017-10-19 16:32:18 +01:00
Brendan Jackman
138ed1495e framework/job: Include job iteration in log messages 2017-10-19 16:28:43 +01:00
Brendan Jackman
fbcee730b2 RTConfig: Allow network to stabilise after disabling airplane mode
This enables you to do things like:

global:
  runtime_parameters:
    airplane_mode: true # This improves repeatability of energy measurements

workloads:
  - name: foo

  - name: bar

  - name: geekbench
    runtime_parameters:
      airplane_mode: false # Geekbench requires network, and we don't care
                           # about energy for that workload anyway
2017-10-18 12:40:36 +01:00
Brendan Jackman
b36316c900 workloads/geekbench: Add requires_network attribute 2017-10-18 11:50:30 +01:00
Brendan Jackman
71815e4e1c framework/workload: Implement Workload.requires_network attribute 2017-10-18 11:50:29 +01:00
setrofim
42b1486559 Merge pull request #517 from bjackman/monsoon
instrumentation: Add support for Devlib's monsoon instrument
2017-10-18 08:21:25 +01:00
Chris Redpath
85c39cd48e instrumentation: Add support for Devlib's monsoon instrument
The parameter support is untested as the defaults match what my system
does.

Signed-off-by: Chris Redpath <chris.redpath@arm.com>
2017-10-17 12:16:52 +01:00
setrofim
73f863f281 Merge pull request #515 from bjackman/hwmon
hwmon: Add hwmon instrument
2017-10-13 14:44:16 +01:00
Brendan Jackman
a719f3b156 hwmon: Add hwmon instrument
For some reason I didn't look at the WA2 instrument until afer I
wrote this, so it's different in how it handles 'before/after'
quantities (which I called 'momentary' in the code) - instead of
adding a 'mean' it just adds two separate metrics: one for before and
one for after. Personally I think this is more useful (esp. for
temperature) but if necessary I can revert to the old behaviour.

This also doesn't add the helpful classifier telling you the hwmon
device, because we don't have immediate access to that info from the
devlib Instrument. If necessary I'm sure it could be added later.

Furthermore it doesn't have a parameter to filter the sensors, just
collects from them all.
2017-10-12 18:16:23 +01:00
setrofim
9e8c0cfb32 Merge pull request #516 from bjackman/trace-cmd-very-slow
trace-cmd: Add missing very_slow decorator to stop method
2017-10-12 18:00:50 +01:00
Brendan Jackman
a5badad8e9 trace-cmd: Add missing very_slow decorator to stop method 2017-10-12 17:58:45 +01:00
setrofim
311d122ad7 Merge pull request #512 from bjackman/port-dmesg
WA3 dmesg instrument
2017-10-11 15:45:38 +01:00
Brendan Jackman
f6fa6ba793 instrumentation: Port dmesg instrument from WA2 2017-10-11 15:43:40 +01:00
setrofim
d7a6a3c82a Merge pull request #509 from setrofim/next
Fixes
2017-10-11 15:31:34 +01:00
setrofim
ea3f9307d9 Merge pull request #514 from bjackman/next
Fixup standard energy channels fix
2017-10-11 15:31:00 +01:00
Brendan Jackman
04181e5859 energy_measurement: Fixup standard metrics fix
Typo'd this and seems I failed to test it
2017-10-11 15:26:04 +01:00
setrofim
4eda719130 Merge pull request #511 from bjackman/energy-measurement-standard-metrics
energy_measurement: Ensure 'standard' energy metrics are produced
2017-10-10 15:40:00 +01:00
Brendan Jackman
cd54cb7baf energy_measurement: Ensure 'standard' energy metrics are produced
Where backends have the capability to collect from multiple devlib
Instruments, EnergyMeasurement currently appends 'device' keys to the
names of metrics reported by those Instruments. Where multiple
Instruments are indeed used, it then sums up equivalent metrics to
produce the 'normal' metric without the 'device' keys
appended.

E.g. If you have two ACME 'devices' enabled you will get something
like
'device_total_energy_iio:device0' and
'device_total_energy_iio:device1', which will be summed to produce
'device_total_energy'.

However when only one Instrument is actually instantiated, this is
not needed and not done. Therefore just directly produce the metric
with the name originally given by devlib (i.e. in the example,
'device_total_energy').
2017-10-10 15:25:38 +01:00
Sergei Trofimov
1daec4f2c5 framework/getters: fix http getter APK resolution
Fully matching an APK resource requires the file to be present locally,
so that its metadata can be queries. HTTP getter was matching against a
remote path so the match was failing.

The matching now happens in two stages == first partial path-only
matches are established. Secondly, all partial matches are downloaded
and final match occurs against downloaded files.
2017-10-10 13:14:07 +01:00