2 * DEBUG: section 16 Cache Manager API
6 #ifndef SQUID_MGR_INTERVAL_ACTION_H
7 #define SQUID_MGR_INTERVAL_ACTION_H
9 #include "mgr/Action.h"
15 /// auxiliary class which store stats computed
16 /// from StatCounters for specified interval
17 class IntervalActionData
21 IntervalActionData
& operator += (const IntervalActionData
& stats
);
24 struct timeval sample_start_time
;
25 struct timeval sample_end_time
;
26 double client_http_requests
;
27 double client_http_hits
;
28 double client_http_errors
;
29 double client_http_kbytes_in
;
30 double client_http_kbytes_out
;
31 double client_http_all_median_svc_time
;
32 double client_http_miss_median_svc_time
;
33 double client_http_nm_median_svc_time
;
34 double client_http_nh_median_svc_time
;
35 double client_http_hit_median_svc_time
;
36 double server_all_requests
;
37 double server_all_errors
;
38 double server_all_kbytes_in
;
39 double server_all_kbytes_out
;
40 double server_http_requests
;
41 double server_http_errors
;
42 double server_http_kbytes_in
;
43 double server_http_kbytes_out
;
44 double server_ftp_requests
;
45 double server_ftp_errors
;
46 double server_ftp_kbytes_in
;
47 double server_ftp_kbytes_out
;
48 double server_other_requests
;
49 double server_other_errors
;
50 double server_other_kbytes_in
;
51 double server_other_kbytes_out
;
54 double icp_queries_sent
;
55 double icp_replies_sent
;
56 double icp_queries_recv
;
57 double icp_replies_recv
;
58 double icp_replies_queued
;
59 double icp_query_timeouts
;
60 double icp_kbytes_sent
;
61 double icp_kbytes_recv
;
62 double icp_q_kbytes_sent
;
63 double icp_r_kbytes_sent
;
64 double icp_q_kbytes_recv
;
65 double icp_r_kbytes_recv
;
66 double icp_query_median_svc_time
;
67 double icp_reply_median_svc_time
;
68 double dns_median_svc_time
;
69 double unlink_requests
;
73 double average_select_fd_period
;
74 double median_select_fds
;
77 double swap_files_cleaned
;
78 double aborted_requests
;
79 double syscalls_disk_opens
;
80 double syscalls_disk_closes
;
81 double syscalls_disk_reads
;
82 double syscalls_disk_writes
;
83 double syscalls_disk_seeks
;
84 double syscalls_disk_unlinks
;
85 double syscalls_sock_accepts
;
86 double syscalls_sock_sockets
;
87 double syscalls_sock_connects
;
88 double syscalls_sock_binds
;
89 double syscalls_sock_closes
;
90 double syscalls_sock_reads
;
91 double syscalls_sock_writes
;
92 double syscalls_sock_recvfroms
;
93 double syscalls_sock_sendtos
;
94 double syscalls_selects
;
100 /// implement aggregated interval actions
101 class IntervalAction
: public Action
104 IntervalAction(const CommandPointer
&cmd
, int aMinutes
, int aHours
);
107 static Pointer
Create5min(const CommandPointer
&cmd
);
108 static Pointer
Create60min(const CommandPointer
&cmd
);
110 virtual void add(const Action
& action
);
111 virtual void pack(Ipc::TypedMsgHdr
& msg
) const;
112 virtual void unpack(const Ipc::TypedMsgHdr
& msg
);
116 virtual void collect();
117 virtual void dump(StoreEntry
* entry
);
122 IntervalActionData data
;
127 #endif /* SQUID_MGR_INTERVAL_ACTION_H */