statgrab man page

statgrab, libstatgrab — get system statistics

Synopsis

#include <statgrab.h>

sg_errorsg_init (intignore_init_errors);

sg_errorsg_shutdown (void);

sg_errorsg_drop_privileges (void);

sg_errorsg_get_error (void);

const char *sg_get_error_arg (void);

intsg_get_error_errno (void);

const char *sg_str_error (sg_errorcode);

sg_errorsg_get_error_details (sg_error_details *err_details);

char *sg_strperror (char **buf, const sg_error_details * const err_details);

size_tsg_get_nelements (const void *data);

sg_errorsg_free_stats_buf (void *data);

sg_errorsg_lock_mutex (const char *mutex_name);

sg_errorsg_unlock_mutex (const char *mutex_name);

sg_cpu_percents *sg_get_cpu_percents (void);

sg_cpu_percents *sg_get_cpu_percents_of (sg_cpu_percent_sourcecps);

sg_cpu_percents *sg_get_cpu_percents_r (const sg_cpu_stats *whereof);

voidsg_free_cpu_percents (sg_cpu_percents *data);

sg_cpu_stats *sg_get_cpu_stats (void);

sg_cpu_stats *sg_get_cpu_stats_diff (void);

sg_cpu_stats *sg_get_cpu_stats_r (void);

sg_cpu_stats *sg_get_cpu_stats_diff_between (const sg_cpu_stats *cpu_now, const sg_cpu_stats *cpu_last);

sg_errorsg_free_cpu_stats (sg_cpu_stats *data);

sg_disk_io_stats *sg_get_disk_io_stats (size_t *entries);

sg_disk_io_stats *sg_get_disk_io_stats_r (size_t *entries);

sg_disk_io_stats *sg_get_disk_io_stats_diff (size_t *entries);

sg_disk_io_stats *sg_get_disk_io_stats_diff_between (const sg_disk_io_stats *cur, const sg_disk_io_stats *last, size_t *entries);

sg_errorsg_free_disk_io_stats (sg_disk_io_stats *data);

sg_fs_stats *sg_get_fs_stats (size_t *entries);

sg_fs_stats *sg_get_fs_stats_r (size_t *entries);

sg_errorsg_free_fs_stats (sg_fs_stats *data);

const char **sg_get_valid_filesystems (size_t *entries);

sg_errorsg_set_valid_filesystems (const char *valid_fs[]);

sg_host_info *sg_get_host_info (void);

sg_host_info *sg_get_host_info_r (void);

sg_errorsg_free_host_info (sg_host_info *data);

sg_load_stats *sg_get_load_stats (void);

sg_load_stats *sg_get_load_stats (void);

sg_errorsg_free_load_stats (sg_load_stats *data);

sg_mem_stats *sg_get_mem_stats (void);

sg_mem_stats *sg_get_mem_stats_r (void);

sg_errorsg_free_mem_stats (sg_mem_stats *data);

sg_swap_stats *sg_get_swap_stats (void);

sg_swap_stats *sg_get_swap_stats_r (void);

sg_errorsg_free_swap_stats (sg_swap_stats *data);

sg_network_iface_stats *sg_get_network_iface_stats (size_t *entries);

sg_network_iface_stats *sg_get_network_iface_stats_r (size_t *entries);

sg_errorsg_free_network_iface_stats (sg_network_iface_stats *data);

sg_network_io_stats *sg_get_network_io_stats (size_t *entries);

sg_network_io_stats *sg_get_network_io_stats_r (size_t *entries);

sg_network_io_stats *sg_get_network_io_stats_diff (size_t *entries);

sg_network_io_stats *sg_get_network_io_stats_diff_between (const sg_network_io_stats *cur, const sg_network_io_stats *last, size_t *entries);

sg_errorsg_free_network_io_stats (sg_network_iface_stats *data);

sg_page_stats *sg_get_page_stats (void);

sg_page_stats *sg_get_page_stats_r (void);

sg_page_stats *sg_get_page_stats_diff (void);

sg_page_stats *sg_get_page_stats_diff_between (const sg_page_stats *cur, const sg_page_stats *last);

sg_errorsg_free_page_stats (sg_page_stats *data);

sg_process_stats *sg_get_process_stats (size_t *entries);

sg_process_stats *sg_get_process_stats_r (size_t *entries);

sg_errorsg_free_process_stats (sg_process_stats *data);

sg_process_count *sg_get_process_count (void);

sg_process_count *sg_get_process_count_of (sg_process_count_sourcepcs);

sg_process_count *sg_get_process_count_r (sg_process_stats const *whereof);

sg_errorsg_free_process_count (sg_process_count *data);

sg_user_stats *sg_get_user_stats (size_t *entries);

sg_user_stats *sg_get_user_stats_r (size_t *entries);

sg_errorsg_free_user_stats (sg_user_stats *data);

Description

The statgrab library provides a cross-platform interface to get several system statistics. System statistics aren't standardised, so the statgrab library tries to choose the most important values over all supported operating systems. This implies that some values might not be available on every OS while some specific values are missing when there are no counterparts on any other OS.

The libstatgrab is organised in components, each for interrelated statistics.

componentstatistics
cpusg_cpu_stats, sg_cpu_percents
disksg_disk_io_stats, sg_fs_stats
loadsg_load_stats
memsg_mem_stats
networksg_network_io_stats, sg_network_iface_stats
ossg_host_info
pagesg_page_stats
processsg_process_stats, sg_process_count
swapsg_swap_stats
usersg_user_stats

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, HP-UX, AIX and Cygwin.

See Also

sg_intro(3) sg_get_cpu_stats(3) sg_get_disk_io_stats(3) sg_get_fs_stats(3) sg_get_host_info(3) sg_get_load_stats(3) sg_get_mem_stats(3) sg_get_network_io_stats(3) sg_get_network_iface_stats(3) sg_get_page_stats(3) sg_get_process_stats(3) sg_get_swap_stats(3) sg_get_user_stats(3) sg_get_error(3) sg_internal-intro(3)

Website

http://www.i-scream.org/libstatgrab/

Referenced By

saidar(1), sg_comp_init(3), sg_get_cpu_stats(3), sg_get_disk_io_stats(3), sg_get_error(3), sg_get_fs_stats(3), sg_get_host_info(3), sg_get_load_stats(3), sg_get_mem_stats(3), sg_get_network_iface_stats(3), sg_get_network_io_stats(3), sg_get_page_stats(3), sg_get_process_stats(3), sg_get_user_stats(3), sg_init(3), sg_internal-intro(3), sg_intro(3), sg_lock_mutex(3), sg_set_error(3), sg_vector_create(3), statgrab(1).

libstatgrab(3) is an alias of statgrab(3).

2013-06-07 i-scream