mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
Documentation/DerivedMeasurements: Added documentation for new API
This commit is contained in:
parent
c62905cfdc
commit
60e69fc4e8
69
doc/derived_measurements.rst
Normal file
69
doc/derived_measurements.rst
Normal file
@ -0,0 +1,69 @@
|
||||
Derived Measurements
|
||||
=====================
|
||||
|
||||
|
||||
The ``DerivedMeasurements`` API provides a consistent way of performing post
|
||||
processing on a provided :class:`MeasurementCsv` file.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
The following example shows how to use an implementation of a
|
||||
:class:`DerivedMeasurement` to obtain a list of calculated ``Measurements``.
|
||||
|
||||
.. code-block:: ipython
|
||||
|
||||
# Import the relevant derived measurement module
|
||||
# in this example the derived energy module is used.
|
||||
In [1]: from devlib import DerivedEnergyMeasurements
|
||||
|
||||
# Obtain a MeasurementCsv file from an instrument or create from
|
||||
# existing .csv file. In this example an existing csv file is used which was
|
||||
# created with a sampling rate of 100Hz
|
||||
In [2]: from devlib import MeasurementsCsv
|
||||
In [3]: measurement_csv = MeasurementsCsv('/example/measurements.csv', sample_rate_hz=100)
|
||||
|
||||
# Process the file and obtain a list of the derived measurements
|
||||
In [4]: derived_measurements = DerivedEnergyMeasurements.process(measurement_csv)
|
||||
|
||||
In [5]: derived_measurements
|
||||
Out[5]: [device_energy: 239.1854075 joules, device_power: 5.5494089227 watts]
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
Derived Measurements
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. class:: DerivedMeasurements()
|
||||
|
||||
The ``DerivedMeasurements`` class is an abstract base for implementing
|
||||
additional classes to calculate various metrics.
|
||||
|
||||
.. method:: DerivedMeasurements.process(measurement_csv)
|
||||
|
||||
Returns a list of :class:`Measurement` objects that have been calculated.
|
||||
|
||||
|
||||
|
||||
Available Derived Measurements
|
||||
-------------------------------
|
||||
.. class:: DerivedEnergyMeasurements()
|
||||
|
||||
The ``DerivedEnergyMeasurements`` class is used to calculate average power and
|
||||
cumulative energy for each site if the required data is present.
|
||||
|
||||
The calculation of cumulative energy can occur in 3 ways. If a
|
||||
``site`` contains ``energy`` results, the first and last measurements are extracted
|
||||
and the delta calculated. If not, a ``timestamp`` channel will be used to calculate
|
||||
the energy from the power channel, failing back to using the sample rate attribute
|
||||
of the :class:`MeasurementCsv` file if timestamps are not available. If neither
|
||||
timestamps or a sample rate are available then an error will be raised.
|
||||
|
||||
|
||||
.. method:: DerivedEnergyMeasurements.process(measurement_csv)
|
||||
|
||||
Returns a list of :class:`Measurement` objects that have been calculated for
|
||||
the average power and cumulative energy for each site.
|
||||
|
||||
|
@ -19,6 +19,7 @@ Contents:
|
||||
target
|
||||
modules
|
||||
instrumentation
|
||||
derived_measurements
|
||||
platform
|
||||
connection
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user