7 #ifndef RMONITOR_POLL_INTERNAL_H
8 #define RMONITOR_POLL_INTERNAL_H
13 #include "rmonitor_types.h"
14 #if defined(CCTOOLS_OPSYS_DARWIN) || defined(CCTOOLS_OPSYS_FREEBSD)
15 #include <sys/param.h>
16 #include <sys/mount.h>
17 #include <sys/resource.h>
22 #include <sys/types.h>
25 #ifdef HAS_SYS_STATFS_H
26 #include <sys/statfs.h>
29 #ifdef HAS_SYS_STATVFS_H
30 #include <sys/statvfs.h>
38 #include "int_sizes.h"
39 #include "rmonitor_types.h"
40 #include "rmsummary.h"
42 #include "rmonitor_poll.h"
44 void rmonitor_poll_all_processes_once(
struct itable *processes,
struct rmonitor_process_info *acc);
45 void rmonitor_poll_all_wds_once(
struct hash_table *wdirs,
struct rmonitor_wdir_info *acc,
int max_time_for_measurement);
46 void rmonitor_poll_all_fss_once(
struct itable *filesysms,
struct rmonitor_filesys_info *acc);
48 int rmonitor_poll_process_once(
struct rmonitor_process_info *p);
49 int rmonitor_poll_wd_once(
struct rmonitor_wdir_info *d,
int max_time_for_measurement);
50 int rmonitor_poll_fs_once(
struct rmonitor_filesys_info *f);
52 void rmonitor_info_to_rmsummary(
struct rmsummary *tr,
struct rmonitor_process_info *p,
struct rmonitor_wdir_info *d,
struct rmonitor_filesys_info *f, uint64_t start_time);
54 int rmonitor_get_cpu_time_usage(pid_t pid,
struct rmonitor_cpu_time_info *cpu);
55 int rmonitor_get_mem_usage( pid_t pid,
struct rmonitor_mem_info *mem);
56 int rmonitor_get_sys_io_usage( pid_t pid,
struct rmonitor_io_info *io);
57 int rmonitor_get_map_io_usage( pid_t pid,
struct rmonitor_io_info *io);
58 int rmonitor_get_dsk_usage(
const char *path,
struct statfs *disk);
60 int rmonitor_get_wd_usage(
struct rmonitor_wdir_info *d,
int max_time_for_measurement);
62 void acc_cpu_time_usage(
struct rmonitor_cpu_time_info *acc,
struct rmonitor_cpu_time_info *other);
63 void acc_mem_usage(
struct rmonitor_mem_info *acc,
struct rmonitor_mem_info *other);
64 void acc_sys_io_usage(
struct rmonitor_io_info *acc,
struct rmonitor_io_info *other);
65 void acc_map_io_usage(
struct rmonitor_io_info *acc,
struct rmonitor_io_info *other);
66 void acc_dsk_usage(
struct statfs *acc,
struct statfs *other);
67 void acc_wd_usage(
struct rmonitor_wdir_info *acc,
struct rmonitor_wdir_info *other);
69 FILE *open_proc_file(pid_t pid,
char *filename);
70 int get_int_attribute(FILE *fstatus,
char *attribute, uint64_t *value,
int rewind_flag);
72 uint64_t usecs_since_epoch();
Definition: rmsummary.h:24
A general purpose hash table.
An integer-indexed hash table.