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 supported and tested platforms includes FreeBSD, Linux, NetBSD, OpenBSD, Solaris, DragonFly BSD, HP-UX and AIX. We are always happy to accept patches to extend support to other operating systems.

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

Thursday 8 August 2013

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

Please note that the API in 0.90 has changed, so applications using libstatgrab will need to be updated to support the changes.

There are a large number of changes in this version of libstatgrab. Here is an overview:

  • Thread safety and reentrant functions.
  • API unification (every stats call is now able to return multiple entries).
  • Complete rewrite of internal memory management (eases future extensions).
  • Add experimental support for tracing using log4cplus.
  • Complete the ports for AIX, HP-UX and most of the widely used BSD-based operating systems.
  • Complete the port for Darwin/MacOS X including basic Mach.
  • Clean up the FreeBSD and Solaris implementations.
  • Clean up the FreeBSD and Solaris implementations.

This release is the result of a significant amount of work by the newest member of the libstatgrab team - Jens Rehsack. Welcome to the team Jens!

If you find any bugs in the release please report them over at our Issue Tracker on GitHub.

Sunday 21 February 2010

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

This release adds support for FreeBSD 9 and other systems using utmpx. Also on FreeBSD it fixes an issue with large quantities of memory and adds support for dynamically getting a list of supported file systems. On Solaris ZFS file systems will now be detected. And finally on Linux CPU iowait information will be given where available.

Friday 30 May 2008

Dag Odenhall got in touch today to let us know he's written Ruby bindings for libstatgrab. Thanks Dag!

Monday 17 March 2008

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

This release fixes some minor build problems on Solaris with Sun's compiler, and on the Debian "armel" port. Also a minor fix to statgrab-make-mrtg-config on machines with no swap, and added support for FreeBSD 8.

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.

Documentation

These need updating for the 0.90 release.

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