statgrab - Man Page
get system statistics
Synopsis
#include <statgrab.h>
sg_error
sg_init (int
ignore_init_errors);
sg_error
sg_shutdown (void);
sg_error
sg_drop_privileges (void);
sg_error
sg_get_error (void);
const char *
sg_get_error_arg (void);
int
sg_get_error_errno (void);
const char *
sg_str_error (sg_error
code);
sg_error
sg_get_error_details (sg_error_details *
err_details);
char *
sg_strperror (char **
buf, const sg_error_details * const err_details);
size_t
sg_get_nelements (const void *
data);
sg_error
sg_free_stats_buf (void *
data);
sg_error
sg_lock_mutex (const char *
mutex_name);
sg_error
sg_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_source
cps);
sg_cpu_percents *
sg_get_cpu_percents_r (const sg_cpu_stats *
whereof);
void
sg_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_error
sg_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_error
sg_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_error
sg_free_fs_stats (sg_fs_stats *
data);
const char **
sg_get_valid_filesystems (size_t *
entries);
sg_error
sg_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_error
sg_free_host_info (sg_host_info *
data);
sg_load_stats *
sg_get_load_stats (void);
sg_load_stats *
sg_get_load_stats (void);
sg_error
sg_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_error
sg_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_error
sg_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_error
sg_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_error
sg_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_error
sg_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_error
sg_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_source
pcs);
sg_process_count *
sg_get_process_count_r (sg_process_stats const *
whereof);
sg_error
sg_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_error
sg_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.
component | statistics |
cpu | sg_cpu_stats , sg_cpu_percents |
disk | sg_disk_io_stats , sg_fs_stats |
load | sg_load_stats |
mem | sg_mem_stats |
network | sg_network_io_stats , sg_network_iface_stats |
os | sg_host_info |
page | sg_page_stats |
process | sg_process_stats , sg_process_count |
swap | sg_swap_stats |
user | sg_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
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).
The man page libstatgrab(3) is an alias of statgrab(3).