sg_get_page_stats, sg_get_page_stats_r, sg_get_page_stats_diff, sg_get_page_stats_diff_between, sg_free_page_stats — get paging statistics
#include <statgrab.h>
sg_page_stats *sg_get_page_stats( | entries) ; |
size_t *entries
;sg_page_stats *sg_get_page_stats_r( | entries) ; |
size_t *entries
;sg_page_stats *sg_get_page_stats_diff( | entries) ; |
size_t *entries
;sg_page_stats *sg_get_page_stats_diff_between( | cur, | |
last, | ||
entries) ; |
const sg_page_stats *cur
;const sg_page_stats *last
;size_t *entries
;sg_error sg_free_page_stats( | data) ; |
sg_page_stats *data
;
The page stats module deliver the number of pages swapped in and out,
either since the machine has been booted (by the
sg_get_page_stats
() and
sg_get_page_stats_r
() functions) or the
difference between two measured statistics (by the
sg_get_page_stats_diff
() and
sg_get_page_stats_diff_between
() functions).
The sg_get_page_stats_diff
() function calculates
the difference between the last call to the function
sg_get_page_stats
() in this thread (the
statistics of the earlier call are saved and
sg_get_page_stats
() is called immediately after
this).
Table 1. API Shortcut
function | returns | data owner |
---|---|---|
sg_get_page_stats | sg_page_stats * | libstatgrab (thread local) |
sg_get_page_stats_r | sg_page_stats * | caller |
sg_get_page_stats_diff | sg_page_stats * | libstatgrab (thread local) |
sg_get_page_stats_diff_between | sg_page_stats * | caller |
The sg_page_stats buffer received from
sg_get_page_stats_r
() and the
sg_get_page_stats_diff_between
() must be freed
using sg_free_page_stats
() when not
needed any more. The caller is responsible for doing it.
typedef struct{ unsigned long long pages_pagein; unsigned long long pages_pageout; time_t systime; }sg_page_stats;
pages_pagein
The number of pages swapped into memory.
pages_pageout
The number of pages swapped out of memory (to swap).
systime
The timestamp when the above stats where collected in seconds
since epoch or the time period over which pages_pagein
and pages_pageout
were transferred.