mirror of
https://codeberg.org/icewind/palantir.git
synced 2026-06-03 10:14:09 +02:00
fix power output
This commit is contained in:
parent
825e7cace8
commit
3af0288836
2 changed files with 11 additions and 5 deletions
|
|
@ -11,7 +11,7 @@ In order to get the power monitoring output you'll need to give the palantir use
|
|||
|
||||
- Create `/etc/udev/rules.d/99-powermonitoring.rules` with
|
||||
```udev
|
||||
SUBSYSTEM=="powercap", ACTION=="add", RUN+="/bin/chgrp -R powermonitoring /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
|
||||
SUBSYSTEM=="powercap", ACTION=="add", RUN+="/bin/chgrp -R powermonitoring /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
|
||||
SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="/bin/chgrp -R powermonitoring /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
|
||||
```
|
||||
|
||||
|
|
@ -24,11 +24,11 @@ In order to get the power monitoring output you'll need to give the palantir use
|
|||
- Add your user to the group
|
||||
|
||||
```
|
||||
sudo usermod -a G powermonitoring palantir
|
||||
sudo usermod -a -G powermonitoring palantir
|
||||
```
|
||||
|
||||
- Verify that you can read energy usage
|
||||
|
||||
```
|
||||
sudo su - palantir -c 'cat /sys/class/powercap/intel-rapl:0:0/energy_uj
|
||||
sudo su - palantir -c 'cat /sys/class/powercap/intel-rapl:0:0/energy_uj'
|
||||
```
|
||||
|
|
|
|||
10
src/power.rs
10
src/power.rs
|
|
@ -23,7 +23,7 @@ impl PowerUsage {
|
|||
for (i, package) in self.packages_uj.iter().enumerate() {
|
||||
writeln!(
|
||||
&mut w,
|
||||
"total_power{{host=\"{}\", package=\"{}\"}} {:.3}",
|
||||
"package_power{{host=\"{}\", package=\"{}\"}} {:.3}",
|
||||
hostname,
|
||||
i,
|
||||
*package as f64 / 1_000_000.0
|
||||
|
|
@ -37,7 +37,13 @@ pub fn power_usage() -> Result<Option<PowerUsage>> {
|
|||
return Ok(None);
|
||||
}
|
||||
|
||||
let dir = read_dir("/sys/devices/virtual/powercap/intel-rapl")?;
|
||||
let dir = match read_dir("/sys/devices/virtual/powercap/intel-rapl") {
|
||||
Ok(dir) => dir,
|
||||
Err(_) => {
|
||||
CAN_READ.store(false, Ordering::Relaxed);
|
||||
return Ok(None);
|
||||
}
|
||||
};
|
||||
let mut usage = PowerUsage::default();
|
||||
for package in dir {
|
||||
let package = package?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue