]>
Commit | Line | Data |
---|---|---|
8822ebee | 1 | /* |
8822ebee AR |
2 | * DEBUG: section 79 Squid-side DISKD I/O functions. |
3 | * | |
4 | */ | |
5 | ||
6 | #ifndef SQUID_DISKD_ACTION_H | |
7 | #define SQUID_DISKD_ACTION_H | |
8 | ||
9 | #include "ipc/forward.h" | |
8822ebee | 10 | #include "mgr/Action.h" |
602d9612 | 11 | #include "mgr/forward.h" |
8822ebee | 12 | |
8822ebee AR |
13 | /// store disk daemon stats |
14 | class DiskdActionData | |
15 | { | |
16 | public: | |
17 | DiskdActionData(); | |
18 | DiskdActionData& operator += (const DiskdActionData& stats); | |
19 | ||
20 | public: | |
21 | double sent_count; | |
22 | double recv_count; | |
23 | double max_away; | |
24 | double max_shmuse; | |
25 | double open_fail_queue_len; | |
26 | double block_queue_len; | |
27 | double open_ops; | |
28 | double open_success; | |
29 | double open_fail; | |
30 | double create_ops; | |
31 | double create_success; | |
32 | double create_fail; | |
33 | double close_ops; | |
34 | double close_success; | |
35 | double close_fail; | |
36 | double unlink_ops; | |
37 | double unlink_success; | |
38 | double unlink_fail; | |
39 | double read_ops; | |
40 | double read_success; | |
41 | double read_fail; | |
42 | double write_ops; | |
43 | double write_success; | |
44 | double write_fail; | |
45 | }; | |
46 | ||
47 | /// implement aggregated 'diskd' action | |
48 | class DiskdAction: public Mgr::Action | |
49 | { | |
50 | protected: | |
51 | DiskdAction(const Mgr::CommandPointer &aCmd); | |
52 | ||
53 | public: | |
54 | static Pointer Create(const Mgr::CommandPointer &aCmd); | |
55 | /* Action API */ | |
56 | virtual void add(const Mgr::Action& action); | |
57 | virtual void pack(Ipc::TypedMsgHdr& hdrMsg) const; | |
58 | virtual void unpack(const Ipc::TypedMsgHdr& hdrMsg); | |
59 | ||
60 | protected: | |
61 | /* Action API */ | |
62 | virtual void collect(); | |
63 | virtual void dump(StoreEntry* entry); | |
64 | ||
65 | private: | |
66 | DiskdActionData data; | |
67 | }; | |
68 | ||
69 | #endif /* SQUID_DISKD_ACTION_H */ |