mirror of
https://github.com/AlexMacocian/ServerManagementUtils.git
synced 2026-07-15 15:19:58 +00:00
Update power-usage for mac
This commit is contained in:
@@ -49,23 +49,27 @@ for i in {1..6}; do
|
||||
if [[ "$OS_TYPE" == "macos" ]]; then
|
||||
# Use powermetrics for macOS (requires sudo)
|
||||
# Sample for 1 second and extract CPU power
|
||||
power_data=$(sudo powermetrics -n 1 -i 1000 --samplers cpu_power 2>/dev/null | grep "CPU Power" | head -1)
|
||||
power_data=$(sudo powermetrics -n 1 -i 1000 --samplers cpu_power 2>/dev/null | grep -i "power" | head -1)
|
||||
|
||||
if [[ -n "$power_data" ]]; then
|
||||
# Extract power value (format: "CPU Power: 1234 mW")
|
||||
power_mw=$(echo "$power_data" | grep -o '[0-9]\+ mW' | grep -o '[0-9]\+')
|
||||
# Try to extract power value in watts (format: "Intel energy model derived package power (CPUs+GT+SA): 4.55W")
|
||||
power_watts=$(echo "$power_data" | grep -oE '[0-9]+\.[0-9]+W' | grep -oE '[0-9]+\.[0-9]+')
|
||||
|
||||
if [[ -n "$power_mw" ]]; then
|
||||
# Convert milliwatts to watts
|
||||
power_watts=$(echo "scale=6; $power_mw / 1000" | bc 2>/dev/null)
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "$timestamp $power_watts" >> "$LOGFILE"
|
||||
LogInformation "Power usage recorded: ${power_watts}W (iteration $i/6)"
|
||||
else
|
||||
LogError "Failed to calculate power in watts"
|
||||
# If watts format not found, try milliwatts format (format: "CPU Power: 1234 mW")
|
||||
if [[ -z "$power_watts" ]]; then
|
||||
power_mw=$(echo "$power_data" | grep -oE '[0-9]+ mW' | grep -oE '[0-9]+')
|
||||
if [[ -n "$power_mw" ]]; then
|
||||
# Convert milliwatts to watts
|
||||
power_watts=$(echo "scale=6; $power_mw / 1000" | bc 2>/dev/null)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "$power_watts" && $? -eq 0 ]]; then
|
||||
echo "$timestamp $power_watts" >> "$LOGFILE"
|
||||
LogInformation "Power usage recorded: ${power_watts}W (iteration $i/6)"
|
||||
else
|
||||
LogError "Failed to extract or calculate power value"
|
||||
fi
|
||||
else
|
||||
LogWarning "Could not retrieve power data from powermetrics"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user