diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Plugins/Monitors.hs | 4 | ||||
| -rw-r--r-- | src/Plugins/Monitors/CatInt.hs | 25 | 
2 files changed, 29 insertions, 0 deletions
| diff --git a/src/Plugins/Monitors.hs b/src/Plugins/Monitors.hs index 27db417..860da71 100644 --- a/src/Plugins/Monitors.hs +++ b/src/Plugins/Monitors.hs @@ -35,6 +35,7 @@ import Plugins.Monitors.CoreTemp  import Plugins.Monitors.Disk  import Plugins.Monitors.Top  import Plugins.Monitors.Uptime +import Plugins.Monitors.CatInt  #ifdef IWLIB  import Plugins.Monitors.Wireless  #endif @@ -69,6 +70,7 @@ data Monitors = Weather      Station     Args Rate                | TopProc      Args        Rate                | TopMem       Args        Rate                | Uptime       Args        Rate +              | CatInt       Int FilePath Args Rate  #ifdef IWLIB                | Wireless Interface  Args Rate  #endif @@ -116,6 +118,7 @@ instance Exec Monitors where      alias (DiskU _ _ _) = "disku"      alias (DiskIO _ _ _) = "diskio"      alias (Uptime _ _) = "uptime" +    alias (CatInt n _ _ _) = "cat" ++ (show n)  #ifdef IWLIB      alias (Wireless i _ _) = i ++ "wi"  #endif @@ -151,6 +154,7 @@ instance Exec Monitors where      start (DiskU s a r) = runM a diskUConfig (runDiskU s) r      start (DiskIO s a r) = startDiskIO s a r      start (Uptime a r) = runM a uptimeConfig runUptime r +    start (CatInt _ s a r) = runM a catIntConfig (runCatInt s) r  #ifdef IWLIB      start (Wireless i a r) = runM (a ++ [i]) wirelessConfig runWireless r  #endif diff --git a/src/Plugins/Monitors/CatInt.hs b/src/Plugins/Monitors/CatInt.hs new file mode 100644 index 0000000..3d19270 --- /dev/null +++ b/src/Plugins/Monitors/CatInt.hs @@ -0,0 +1,25 @@ +----------------------------------------------------------------------------- +-- | +-- Module      :  Plugins.Monitors.CatInt +-- Copyright   :  (c) Nathaniel Wesley Filardo +-- License     :  BSD-style (see LICENSE) +-- +-- Maintainer  :  Nathaniel Wesley Filardo +-- Stability   :  unstable +-- Portability :  unportable +-- +----------------------------------------------------------------------------- + +module Plugins.Monitors.CatInt where + +import Plugins.Monitors.Common +import Plugins.Monitors.CoreCommon + +catIntConfig :: IO MConfig +catIntConfig = mkMConfig "<v>" ["v"] + +runCatInt :: FilePath -> [String] -> Monitor String +runCatInt p _ = +  let failureMessage = "Cannot read: " ++ (show p) +      fmt x = show (truncate x :: Int) +  in  checkedDataRetrieval failureMessage [[p]] Nothing id fmt | 
