--- projects/libstatgrab/docs/statgrab.xml 2003/10/02 17:38:03 1.1 +++ projects/libstatgrab/docs/statgrab.xml 2004/05/02 17:39:19 1.8 @@ -6,163 +6,203 @@ - $Date: 2003/10/02 17:38:03 $ - $Id: statgrab.xml,v 1.1 2003/10/02 17:38:03 tdb Exp $ + $Date: 2004/05/02 17:39:19 $ + $Id: statgrab.xml,v 1.8 2004/05/02 17:39:19 tdb Exp $ - + statgrab 3 i-scream - + statgrab get system statistics - + #include <statgrab.h> - cpu_percent_t *cpu_percent_usage + int sg_init - cpu_states_t *get_cpu_totals + int sg_drop_privileges + - cpu_states_t *get_cpu_diff + sg_cpu_stats *sg_get_cpu_stats + + sg_cpu_stats *sg_get_cpu_stats_diff + + + + sg_cpu_percents *sg_get_cpu_percents + + - diskio_stat_t *get_diskio_stats + sg_disk_io_stats *sg_get_disk_io_stats int *entries - diskio_stat_t *get_diskio_stats_diff + sg_disk_io_stats *sg_get_disk_io_stats_diff int *entries - general_stat_t *get_general_stats + sg_host_info *sg_get_host_info - load_stat_t *get_load_stats + sg_load_stats *sg_get_load_stats - mem_stat_t *get_memory_stats + sg_mem_stats *sg_get_mem_stats - swap_stat_t *get_swap_stats + sg_swap_stats *sg_get_swap_stats - network_stat_t *get_network_stats + sg_network_io_stats *sg_get_network_io_stats int *entries - network_stat_t *get_network_stats_diff + sg_network_io_stats *sg_get_network_io_stats_diff int *entries - page_stat_t *get_page_stats + sg_network_iface_stats *sg_get_network_iface_stats + int *entries + + + + sg_page_stats *sg_get_page_stats - page_stat_t *get_page_stats_diff + sg_page_stats *sg_get_page_stats_diff - process_stat_t *get_process_stats + sg_process_count *sg_get_process_stats - user_stat_t *get_user_stats + sg_user_stats *sg_get_user_stats - + Description - The statgrab library provides a cross platform interface to getting + The statgrab library provides a cross-platform interface to getting system statistics. Each of the function calls returns a structure containing statistics. See the manual page for each individual function for more details on usage. - The library was originally written to support the i-scream central - monitoring system, but has since become a standalone package. It - has been ported to work on Linux, FreeBSD, and Solaris. + sg_init must be the first + function you call before you start to use libstatgrab; it performs all + the one-time initialisation operations that need setuid/setgid + privileges. For instance, on *BSD it opens a descriptor to be able to + read kernel structures later on, and on Solaris it reads the device + mappings that in some cases are only accessible by root (machines with + a /dev/osa). Once this has run, the other libstatgrab functions no longer + need elevated privileges. It is therefore a good idea to call + sg_drop_privileges, which discards + setuid and setgid privileges, immediately after you call + sg_init, unless your application has + another reason for needing setuid or setgid privileges. + + sg_init and + sg_drop_privileges return 0 on success, and + non-zero on failure. + + + The library was originally written to support the i-scream + central monitoring system, but has since become a standalone + package. It has been ported to work on Linux, NetBSD, FreeBSD, + OpenBSD, DragonFly BSD, Solaris and Cygwin. + - + See Also - cpu_percent_usage + sg_get_cpu_percents 3 - get_diskio_stats + sg_get_disk_io_stats 3 - get_general_stats + sg_get_host_info 3 - get_load_stats + sg_get_load_stats 3 - get_memory_stats + sg_get_mem_stats 3 - get_network_stats + sg_get_network_io_stats 3 - get_page_stats + sg_get_network_iface_stats 3 - get_process_stats + sg_get_page_stats 3 - get_user_stats + sg_get_process_stats 3 + + sg_get_user_stats + 3 + - + Website - + - http://www.i-scream.org + + http://www.i-scream.org/libstatgrab/ +