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