influxdata / influxdata/telegraf

RAPL input plugin

Open
#16,876 4 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
Go
Stars
17.8k
Forks
5.8k
Avg merge
1d 20h
Merged PRs (30d)
161

Description

### Use Case

Running Average Power Limit (RAPL) allows measuring the energy consumption of CPU and DRAM on x64 CPUs.
Linux implements access to these values over the file system using the [Power Capping Framework](https://docs.kernel.org/power/powercap/powercap.html).

RAPL is known to be highly correlated to the actual energy consumption of the server and thus a good metric for gauging energy/power consumption in production without additional hardware.

### Expected behavior

Facilitate reading the energy consumption across all RAPL domains through a new input plugin.
Optional: Derive average power consumption between measurements.

### Actual behavior

Not implemented.

### Additional info

[Khan, K.N., Ou, Z., Hirki, M. et al. How much power does your server consume? Estimating wall socket power using RAPL measurements. Comput Sci Res Dev 31, 207–214 (2016).](https://doi.org/10.1007/s00450-016-0325-4)

Contributor guide

Open the contributing guide

Research direction

Start by locating Telegraf’s existing input plugins and the Linux Power Capping Framework paths described in the issue. Determine how to read all RAPL CPU and DRAM domains and expose their energy values; done means a new plugin supports these measurements on x64 Linux, with average power as an optional follow-up.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
observability, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.