diff options
Diffstat (limited to 'src/Plugins/Monitors/CpuFreq.hs')
-rw-r--r-- | src/Plugins/Monitors/CpuFreq.hs | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/Plugins/Monitors/CpuFreq.hs b/src/Plugins/Monitors/CpuFreq.hs index dcf75e5..8301547 100644 --- a/src/Plugins/Monitors/CpuFreq.hs +++ b/src/Plugins/Monitors/CpuFreq.hs @@ -18,22 +18,24 @@ import Plugins.Monitors.Common import Plugins.Monitors.CoreCommon -- | --- Cpu frequency default configuration. Default template contains only one --- core frequency, user should specify custom template in order to get more --- cpu frequencies. +-- Cpu frequency default configuration. Default template contains only +-- one core frequency, user should specify custom template in order to +-- get more cpu frequencies. cpuFreqConfig :: IO MConfig -cpuFreqConfig = mkMConfig - "Freq: <cpu0>" -- template - (zipWith (++) (repeat "cpu") (map show [0 :: Int ..])) -- available - -- replacements +cpuFreqConfig = + mkMConfig "Freq: <cpu0>" (map ((++) "cpu" . show) [0 :: Int ..]) + -- | --- Function retrieves monitor string holding the cpu frequency (or frequencies) +-- Function retrieves monitor string holding the cpu frequency (or +-- frequencies) runCpuFreq :: [String] -> Monitor String -runCpuFreq _ = let path = ["/sys/devices/system/cpu/cpu", "/cpufreq/scaling_cur_freq"] - divisor = 1e6 :: Double - failureMessage = "CpuFreq: N/A" - fmt x | x < 1 = (show (round (x * 1000) :: Integer)) ++ "MHz" - | otherwise = (show x) ++ "GHz" - in checkedDataRetrieval failureMessage path Nothing (/divisor) fmt - +runCpuFreq _ = do + suffix <- getConfigValue useSuffix + let path = ["/sys/devices/system/cpu/cpu", "/cpufreq/scaling_cur_freq"] + divisor = 1e6 :: Double + fmt x | x < 1 = show (round (x * 1000) :: Integer) ++ + if suffix then "MHz" else "" + | otherwise = show x ++ if suffix then "GHz" else "" + failureMessage <- getConfigValue naString + checkedDataRetrieval failureMessage [path] Nothing (/divisor) fmt |