2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 /* DEBUG: section 16 Cache Manager API */
11 #ifndef SQUID_MGR_COUNTERS_ACTION_H
12 #define SQUID_MGR_COUNTERS_ACTION_H
14 #include "mgr/Action.h"
19 /// store traffic and resource counters
20 class CountersActionData
24 CountersActionData
& operator += (const CountersActionData
& stats
);
27 struct timeval sample_time
;
28 double client_http_requests
;
29 double client_http_hits
;
30 double client_http_errors
;
31 double client_http_kbytes_in
;
32 double client_http_kbytes_out
;
33 double client_http_hit_kbytes_out
;
34 double server_all_requests
;
35 double server_all_errors
;
36 double server_all_kbytes_in
;
37 double server_all_kbytes_out
;
38 double server_http_requests
;
39 double server_http_errors
;
40 double server_http_kbytes_in
;
41 double server_http_kbytes_out
;
42 double server_ftp_requests
;
43 double server_ftp_errors
;
44 double server_ftp_kbytes_in
;
45 double server_ftp_kbytes_out
;
46 double server_other_requests
;
47 double server_other_errors
;
48 double server_other_kbytes_in
;
49 double server_other_kbytes_out
;
52 double icp_queries_sent
;
53 double icp_replies_sent
;
54 double icp_queries_recv
;
55 double icp_replies_recv
;
56 double icp_replies_queued
;
57 double icp_query_timeouts
;
58 double icp_kbytes_sent
;
59 double icp_kbytes_recv
;
60 double icp_q_kbytes_sent
;
61 double icp_r_kbytes_sent
;
62 double icp_q_kbytes_recv
;
63 double icp_r_kbytes_recv
;
65 double icp_times_used
;
70 double cd_local_memory
;
71 double cd_kbytes_sent
;
72 double cd_kbytes_recv
;
74 double unlink_requests
;
81 double swap_files_cleaned
;
82 double aborted_requests
;
85 /// implement aggregated 'counters' action
86 class CountersAction
: public Action
89 CountersAction(const CommandPointer
&cmd
);
92 static Pointer
Create(const CommandPointer
&cmd
);
94 virtual void add(const Action
& action
);
95 virtual void pack(Ipc::TypedMsgHdr
& msg
) const;
96 virtual void unpack(const Ipc::TypedMsgHdr
& msg
);
100 virtual void collect();
101 virtual void dump(StoreEntry
* entry
);
104 CountersActionData data
;
109 #endif /* SQUID_MGR_COUNTERS_ACTION_H */