Skip to content
This repository has been archived by the owner on Mar 11, 2019. It is now read-only.

feat: version 3.0 of PowerAPI #49

Merged
merged 219 commits into from
Mar 10, 2015
Merged

feat: version 3.0 of PowerAPI #49

merged 219 commits into from
Mar 10, 2015

Conversation

rouvoy
Copy link
Contributor

@rouvoy rouvoy commented Mar 10, 2015

The new version of PowerAPI includes a deep refactoring of the library to better support latest developments around the library and providing better performances and accuracy in the power estimations that are reported by the software-defined power meters built on top of PowerAPI.

huertas and others added 30 commits October 31, 2014 13:35
huertas and others added 27 commits February 5, 2015 11:50
It's now possible to have a PowerModule composed by several sensor and formula instead of only one sensor and formula
Replace the old static interval (1.seconds) by a value read from a configuration file.
feature(api): Draft of the new power meter API.
Change the list conversion to be able to read the variables from a configuration file.

fix(cpu-sensor): problem with the TargetUsageRatio when the All target is received, fix #42

Create a case class to store the global cpu time (with idle) and the active global cpu time (without idle) in order to compute correctly the TargetUsageRatio.

refactor(PowerMeter): improve code

Use the configuration trait instead of an object with a default timeout, change the null by Option.
The Formula is now listening the MonitorTick messages instead of UsageReport messages in order to compute the TargetUsageRatio differently.
Simplify the collect method by checking the time enabled/running

refactor(PowerMeter): Change the definition of PowerModule

A PowerModule is now a class and the code was improving

refactor(target): Move the Target definitions

 To be able to use the targets in Java, their definitions is now written in dedicated file.
Change the name of the function load() in object PowerMeter to resolve name conflict with the function load() in trait Configuration (extended by the PowerMeter class)
…l/active times

There was a problem during the computation of the global active time (a substraction was missing)
…early

There was a problem when the MonitorAggFunction was received too early, then the aggregating function was not correctly used.
Implement the Processing and PolynomialRegression objects for processing data from a sampling.
Add a new project for the sampling

chore(plugin): add a plugin

Add the sbt-native-packager plugin for creating different package (jar, archive and so on)
Implement the sampling project with an Application (it must be used with the bash script)
feature(sampling): Implement the sampling project
Rewrite tests for slow systems, add the corresponding configuration file
Update building files for using the codacy web tool (project's code review).
There was a problem with the monitor method, the ask was not blocking there.

refactor(code): improve code readability

Clean the code
…ules

Put configuration parameters inside specific files and load them in the modules.

refactor(import): put the import in the beginning of each file

Respect the convention for the imports.
Add tests for configuration traits
Write the needed configuration for publishing the powerapi-core artifact.
The application crashed when the getProcesses method was called with a non-existing application

fix(PowerSpy): fix a problem with Process/Application targets

The idle power was added to the dynamic power for these targets, it was not correct

refactoring(targets): add missing toString method

Add a toString method to each target

refactoring(PowerChannel): modify the AggregatePowerReport

Given the fact the AggregatePowerReport aggregates data from several targets and sources, all these informations are kept in order to de displayed to the end-user.
fix(cli): change executable script name
rouvoy added a commit that referenced this pull request Mar 10, 2015
feat: version 3.0 of PowerAPI
@rouvoy rouvoy merged commit 0fac1fa into master Mar 10, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants