ecd64f4445
This patch will bring this interface up to our 3rd gen standards. The following summarizes the major changes. * New delta provisions have been added to most fields. There are, of course, some fields for which a delta is inappropriate. They include the identifying items such as name, type, major and minor. Plus the io_inprogress field which already acts, in effect, as a delta value. * To provide delta support, dev_node historical values have become persistent. By the same token, the library must provide for future removal of disks/partitions. A timestamp is used to detect 'stale' data which will be deleted so as not to satisfy some get, select or reap. * Such persistent support is provided by a linked list which, by default, grows from the bottom down so as to maintain compatibility with the /proc/diskstats order. Initially, I was tempted to use the GNU tsearch (tree) provisions until I discovered the overhead of building that tree plus costs of a subsequent 'twalk'. Besides, walking such a tree means retrieval order would differ from an order required/expected by the vmstat program. * The '/sys/block' directory is no longer scanned with every refresh cycle. Rather, it's only accessed when a node is first encountered. Then, that node's 'type' is persistent for its lifetime like several other fields. * A sort provision was included, at virtually no cost, even though such a provision was not currently needed. Signed-off-by: Jim Warner <james.warner@comcast.net>
57 lines
1.1 KiB
Plaintext
57 lines
1.1 KiB
Plaintext
LIBPROCPS_0 {
|
|
global:
|
|
escape_str;
|
|
fatal_proc_unmounted;
|
|
procps_cpu_count;
|
|
procps_diskstats_new;
|
|
procps_diskstats_ref;
|
|
procps_diskstats_unref;
|
|
procps_diskstats_get;
|
|
procps_diskstats_reap;
|
|
procps_diskstats_select;
|
|
procps_diskstats_sort;
|
|
procps_hertz_get;
|
|
procps_linux_version;
|
|
procps_loadavg;
|
|
procps_meminfo_new;
|
|
procps_meminfo_ref;
|
|
procps_meminfo_unref;
|
|
procps_meminfo_get;
|
|
procps_meminfo_select;
|
|
procps_ns_get_name;
|
|
procps_ns_get_id;
|
|
procps_ns_read_pid;
|
|
procps_pid_length;
|
|
procps_pids_new;
|
|
procps_pids_ref;
|
|
procps_pids_unref;
|
|
procps_pids_get;
|
|
procps_pids_reap;
|
|
procps_pids_reset;
|
|
procps_pids_select;
|
|
procps_pids_sort;
|
|
procps_slabinfo_new;
|
|
procps_slabinfo_ref;
|
|
procps_slabinfo_unref;
|
|
procps_slabinfo_get;
|
|
procps_slabinfo_reap;
|
|
procps_slabinfo_select;
|
|
procps_slabinfo_sort;
|
|
procps_stat_new;
|
|
procps_stat_ref;
|
|
procps_stat_unref;
|
|
procps_stat_get;
|
|
procps_stat_reap;
|
|
procps_stat_select;
|
|
procps_uptime;
|
|
procps_uptime_sprint;
|
|
procps_uptime_sprint_short;
|
|
procps_vmstat_new;
|
|
procps_vmstat_ref;
|
|
procps_vmstat_unref;
|
|
procps_vmstat_get;
|
|
procps_vmstat_select;
|
|
local:
|
|
*;
|
|
};
|