physalia.energy_profiler module

Module with main classes for energy profiling.

class physalia.energy_profiler.AndroidUseCase(name, app_apk, app_pkg, app_version, run=None, prepare=None, cleanup=None)[source]

Bases: object

Implementation of an Android use case.

Attributes:
power_meter power meter to use for measurements name name identifier of the use case app_pkg package app_version version of the app prepare method to run before interaction interact method with Android interaction
cleanup()[source]

Clean environment after running.

default_power_meter = <physalia.power_meters.EmulatedPowerMeter object>
install_app()[source]

Install App.

kill_app()[source]

Tell the device to kill the app of this use case.

open_app()[source]

Open app in the device.

prepare()[source]

Prepare environment for running.

prepare_apk()[source]

Reinstall app in the Android device.

profile(power_meter=<physalia.power_meters.EmulatedPowerMeter object>, verbose=True, count=30, retry_limit=1, save_to_csv=None)[source]

Run a batch of measurements.

Args:
power_meter Power meter to use in measurements. verbose Log activiy (default=True). count Run experiment several times (default=30). retry_limit Number of times to retry on error. save_to_csv File name to store mesasurement.

Returns: Set of measurements

profile_and_persist(power_meter=<physalia.power_meters.EmulatedPowerMeter object>, verbose=True, count=30)[source]

Measure a batch of measurements and save it.

run(power_meter=<physalia.power_meters.EmulatedPowerMeter object>, retry_limit=1)[source]

Measure the routine stored in _run.

Returns:
Measurement: data collected from experiment
uninstall_app()[source]

Uninstall app of the Android device.