Scaphandre [skafɑ̃dʁ] is a metrology agent dedicated to electric power and energy consumption metrics. The goal of the project is to permit to any company or individual to measure the power consumption of its tech services and get this data in a convenient form, sending it through any monitoring or data analysis toolchain
Scaphandre means heavy diving suit in 🇫🇷. It comes from the idea that tech related services often don't track their power consumption and thus don't expose it to their clients. Most of the time the reason is a presumed bad ROI. Scaphandre makes, for tech providers and tech users, easier and cheaper to go under the surface to bring back the desired power consumption metrics, take better sustainability focused decisions, and then show the metrics to their clients to allow them to do the same.
This project was born from a deep sense of duty from tech workers. Please refer to the why section to know more about its goals.
Warning: this is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.
- measuring power/energy consumed on bare metal hosts
- measuring power/energy consumed of qemu/kvm virtual machines from the host
- exposing power/energy metrics of a virtual machine, to allow manipulating those metrics in the VM as if it was a bare metal machine (relies on hypervisor features)
- exposing metrics as a prometheus (HTTP) exporter
- sending metrics in push mode to a prometheus Push Gateway
- sending metrics to riemann
- sending metrics to Warp10
- works on kubernetes
- storing power consumption metrics in a JSON file
- showing basic power consumption metrics in the terminal
- operating systems supported so far : Gnu/Linux, Windows 10, 11 and Server 2016/2019/2022
- packages available for RHEL 8 and 9, Debian 11 and 12 and Windows, also NixOS (community support)
Here is an example dashboard built thanks to scaphandre: https://metrics.hubblo.org.
You'll find everything you may want to know about scaphandre in the documentation, like:
- 🏁 Getting started
- 💻 Installation & compilation on GNU/Linux or on Windows
- 👁️ Give a virtual machine access to its power consumption metrics, and break the opacity of being on the computer of someone else
- 🎉 Contributing guide
- And much more
If you are only interested in the code documentation here it is.
The ongoing roadmap can be seen here. Feature requests are welcome, please join us.
In opposition to its name, scaphandre aims to be as light and clean as possible. One of the main focus areas of the project is to come as close as possible to a 0 overhead, both about resources consumption and power consumption.
If you like this project and would like to provide financial help, here's our sponsoring page. Thanks a lot for considering it !
cargo install mdbook
or see https://rust-lang.github.io/mdBook/guide/installation.htmlcargo install mdbook-i18n-helpers
cargo install mdbook-tera-backend
cd scaphandre
mdbook serve --port 3001
editing modemdbook build
(create../scaphandre-documentation/docs
directory)
relire https://github.com/google/mdbook-i18n-helpers/blob/main/i18n-helpers/USAGE.md
initier le fichier de traduction de base
apt install gettext poedit
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}' mdbook build -d po
qui génère le fichierpo/message.pot
msginit -i po/messages.pot -l fr -o po/fr.po
pour initier traduction en frpoedit po/fr.po
pour traduire/sauvegardermsgmerge --update po/fr.po po/messages.pot
pour mettre à jour le fichier po/fr.po selon message.potMDBOOK_BOOK__LANGUAGE=fr mdbook serve --port 3001