Collect system level metrics and statistics.
Provides an interface to the cross platform system statistics C library, libstatgrab
.
It supports a wide range of system statistics including CPU usage, memory utilisation, disk usage, process counts, network traffic, disk I/O, and more.
The current list of supported and tested platforms for the underlying library include OSX, FreeBSD, Linux, NetBSD, OpenBSD, Solaris, DragonFly BSD, HP-UX and AIX.
Requirements:
libstatgrab
0.9.0
must be installed on the target system.
Note: Currently these bindings have only been developed and tested on OSX and Linux.
Statgrab
Haskell bindings to the portable system statistics libstatgrab
library.
Table of Contents
Introduction
libstatgrab
is a library that provides cross platform access to statistics about the system on which it's run. It's written in C and presents a selection of useful interfaces which can be used to access key system statistics. The current list of statistics includes CPU usage, memory utilisation, disk usage, process counts, network traffic, disk I/O, and more.
The current list of supported and tested platforms includes OSX, FreeBSD, Linux, NetBSD, OpenBSD, Solaris, DragonFly BSD, HP-UX and AIX.
Please see the libstatgrab
homepage for more information.
Further documentation can be found on Hackage.
Compatibility
libstatgrab0.9.0
is required.
While the bindings should correctly build on the same platforms as supported by the library, only OSX and Linux have currently been tested.
Installation
Install libstatgrab0.9.0
from a mirror, and then run cabal install
.
Examples
module Main (main) where
import Control.Monad.IO.Class
import System.Statgrab
main :: IO ()
main = do
runStats $ (snapshot :: Stats Host) >>= liftIO . print
runStats $ (snapshots :: Stats [NetworkInterface]) >>= liftIO . print
Contributing
For any problems, comments or feedback please create an issue here on GitHub.
Licence
statgrab is released under the Mozilla Public License Version 2.0