Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dannixon/yuugi
https://github.com/dannixon/yuugi
energy-consumption hacktoberfest power-consumption prometheus
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dannixon/yuugi
- Owner: DanNixon
- License: mit
- Created: 2022-08-03T10:49:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-05T09:25:17.000Z (8 months ago)
- Last Synced: 2024-03-06T00:25:53.695Z (8 months ago)
- Topics: energy-consumption, hacktoberfest, power-consumption, prometheus
- Language: Rust
- Homepage:
- Size: 60.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# yuugi [![CI](https://github.com/DanNixon/yuugi/actions/workflows/ci.yml/badge.svg)](https://github.com/DanNixon/yuugi/actions/workflows/ci.yml) [![dependency status](https://deps.rs/repo/github/dannixon/yuugi/status.svg)](https://deps.rs/repo/github/dannixon/yuugi)
A quick, hacky proof of concept tool for monitoring power consumption of multi-component software systems.
See `yuugi --help` for details of configurable options.
Currently only provides a vague estimate of power consumption due to horrific assumptions about the state of the system's CPU but is better than nothing and using process CPU time as a proxy measurement is still valid to identifiy possible optimisation targets.
The following caveats apply to using this:
- CPU power must be manually derived (if in doubt the TDP will be a sensible guess, this will in most cases result in an overestimation of power consumption)
- CPU frequency/power states are not taken into account (if a core is halted or running at a lower frequency then power consumption will be overestimated)
- Mutliple socket systems will probably not "just work"
- Short lived processes will not be reported correctly if their life is less than or not significantly longer than the polling interval
- The current label set for CPU time and energy generates a *lot* of series (be sure whatever collection system to feed this into is suitable to do so)TL;DR: probably just use the CPU time measurement.