PowerAPI is a middleware toolkit for building software-defined power meters. Software-defined power meters are configurable software libraries that can estimate the power consumption of software in real-time. As a middleware toolkit, PowerAPI offers the capability of assembling power meters «à la carte» to accommodate user requirements.

Getting started

Before starting, we encourage you to read about software-defined power meters.

Our getting started tutorials currently includes instructions:

  • To deploy a power meter reporting the global power consumption on a single machine or a cluster of nodes, follow this tutorial;
  • To deploy a power meter reporting the power consumption of group of process (docker container, kubernetes pods, LXC container) or individual process running on a machine or a cluster, follow this tutorial.

If you want more information about advanced features of PowerAPI, a more comprehensive documentation is available in the “Advanced documentation” for:

Mailing list

You can follow the latest news and asks questions by subscribing to our mailing list.


Use Cases

PowerAPI is used in a variety of projects to address key challenges of GreenIT:

  • GenPack provides a Docker Swarm strategy to minimize the energy footprint of Docker containers deployed in a cluster
  • BitWatts provides process-level power estimation of applications running in virtual machines
  • Web Energy Archive ranks popular websites based on the energy footpring they imposes to browsers
  • Greenspector optimises the power consumption of software by identifying potential energy leaks in the source code.

Credits and Licence

PowerAPI is an open-source project developed by the Spirals research group (University of Lille and Inria)

This software is licensed under the BSD 3-Clause License, quoted below.