i-scream libstatgrab homepage

What is libstatgrab?

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 platforms is Solaris 2.x, Linux 2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x, DragonFly BSD 1.0, HP-UX, and Cygwin. The aim is to extend this to include as many operating systems as possible.

The package also includes a couple of useful tools. The first, saidar, provides a curses-based interface to viewing the current state of the system. The second, statgrab, gives a sysctl-style interface to the statistics gathered by libstatgrab. This extends the use of libstatgrab to people writing scripts or anything else that can't easily make C function calls. Included with statgrab is a script to generate an MRTG configuration file to use statgrab.

News

To get notifications of new libstatgrab releases why not subscribe to our project over on freshmeat?

Saturday 14 July 2007

Version 0.15 of libstatgrab has been released.
Download it from one of our mirrors.

This release fixes a regression introduced on OpenBSD in the last release - memory statistics were reported incorrectly. Some other minor changes have been made, see the NEWS file for more information.

Monday 8 January 2007

Version 0.14 of libstatgrab has been released.
Download it from one of our mirrors.

This release contains mainly bugfixes - see the NEWS file in the distribution for a full list. It also brings a new feature in saidar: colour support, which can be activated with the -c runtime flag.

Monday 20 March 2006

Version 0.13 of libstatgrab has been released.
Download it from one of our mirrors.

This release mainly includes a bunch of bug fixes, but also brings preliminary support for WIN32. We've also added a few lines to the header file to make C++ linking easier. Please see the NEWS file in the distribution for full details.

Sunday 31 July 2005

Version 0.12 of libstatgrab has been released.
Download it from one of our mirrors.

This release has some new features, bug fixes, and a minor API change. More details have been added to the file system statistics, linux partition detection has been reworked, and compile errors on Linux 2.6 have been fixed. Support has been added for Solaris 10 and FreeBSD 7. There are also manual pages for all the tools.

The duplex value in the network interface statistics has changed name from "dup" to "duplex" - this breaks the API. We plan to stabilise the API for a 1.0 release. As before, the old name is available if SG_ENABLE_DEPRECATED is defined.

Tuesday 26 April 2005

Official libstatgrab packages for Debian now available.

Thanks to the work of Bartosz Fenski libstatgrab is now available on debian. This replaces our unofficial debian packages which will no longer be updated.

Thursday 3 March 2005

Version 0.11.1 of libstatgrab has been released.
Download it from one of our mirrors.

This release fixes a handful of minor bugs. Duplex settings were reported incorrectly on linux (half and full duplex were swapped), saidar displayed negative filesystem stats incorrectly, and NFS filesystems were ignored. These have all been fixed.

Friday 12 November 2004

Version 0.11 of libstatgrab has been released.
Download it from one of our mirrors.

This release brings support for HP-UX (version 11.11), and also fixes a few other minor issues.

Wednesday 25 August 2004

Version 0.10.3 of libstatgrab has been released.
Download it from one of our mirrors.

This release adds a handful of new features to statgrab, and adds support for FreeBSD 6.0-CURRENT. See the NEWS file in the tarball for more details.

Tuesday 27 July 2004

Version 0.10.2 of libstatgrab has been released.
Download it from one of our mirrors.

This release fixes a problem with the shared library version number in the last release.

Monday 26 July 2004

Version 0.10.1 of libstatgrab has been released.
Download it from one of our mirrors.

This release consists almost entirely of bugfixes. We've fixed compile-time errors for recent OpenBSD and NetBSD platforms, and also a minor bug in statgrab that broke network statistics on Solaris. New variables have been added to the pkg-config file to suggest ownership and permissions of binaries, and we've added error reporting functions that store errno values. There's also other minor fixes detailed in the NEWS file.

Thursday 20 May 2004

Version 0.10 of libstatgrab has been released.
Download it from one of our mirrors.

This release concentrates heavily on standardising the names of functions and structures throughout libstatgrab. Although this will mean changes for existing programs, in the long run we hope it'll make things both clearer and easier. However, for those who still need the old functions we have provided compatibility wrappers. See the NEWS file for details.

The other main change in this release is a new function to provide full details on currently running processes. See the documentation for sg_get_process_stats for details. Along with this there are compare functions for use with qsort for sorting process, network, and disk io statistics. We've also introduced error reporting functions that allow calling applications to see why libstatgrab has returned a failure. See sg_get_error.

Finally, we've added support for NetBSD 2.0 and tidied up lots of areas of the code. This release does not include the python bindings - they're now available as their own project called pystatgrab.

Sunday 21 March 2004

pystatgrab, a new package containing a set of Python bindings, has been released. Check out its project page.

Downloading

The latest version of libstatgrab can be downloaded from our mirror sites. All downloads are pgp signed using our PGP Key.

For installation instructions see the README and INSTALL files contained within the archive.

Language Bindings

Here are links to bindings for higher level languages that provide access to libstatgrab. If you've written a binding for another language, please get in touch so we can add a link here.

Packages of libstatgrab

These are various pre-packaged versions of libstatgrab that you can get for your favourite operating system. If we've missed any out, please let us know.

We've noticed that google throws up some RPM's relating to Mandrake and Suse, but no webpage for them.

Development

We develop libstatgrab using the CVS revision control system. Using this link you can see what changes we've made this week. For more information on our CVS setup see our CVS page.

Documentation

The only online documentation we have at the moment is the manual pages converted in to HTML format. First are the manual pages for the command line tools:

We also have an overview page for the library:

Then we have the manual pages for each function:

Screenshot

Here's what saidar looks like when it's running:

saidar screenshot