]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/mgr/InfoAction.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / mgr / InfoAction.h
index e48e94c546935d5fe02797bdf351efffd68b8d71..ffbc27f66e4201b8e96707ceeb8ec68ee6189118 100644 (file)
@@ -1,14 +1,18 @@
 /*
- * DEBUG: section 16    Cache Manager API
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
  *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
  */
 
+/* DEBUG: section 16    Cache Manager API */
+
 #ifndef SQUID_MGR_INFO_ACTION_H
 #define SQUID_MGR_INFO_ACTION_H
 
 #include "mgr/Action.h"
 #include "StoreStats.h"
-#include <sys/time.h>
 
 namespace Mgr
 {
@@ -18,97 +22,72 @@ namespace Mgr
 class InfoActionData
 {
 public:
-    InfoActionData();
     InfoActionData& operator += (const InfoActionData& stats);
 
 public:
-    struct timeval squid_start;
-    struct timeval current_time;
-    double client_http_clients;
-    double client_http_requests;
-    double icp_pkts_recv;
-    double icp_pkts_sent;
-    double icp_replies_queued;
+    struct timeval squid_start = {};
+    struct timeval current_time = {};
+    double client_http_clients = 0.0;
+    double client_http_requests = 0.0;
+    double icp_pkts_recv = 0.0;
+    double icp_pkts_sent = 0.0;
+    double icp_replies_queued = 0.0;
 #if USE_HTCP
-    double htcp_pkts_recv;
-    double htcp_pkts_sent;
+    double htcp_pkts_recv = 0.0;
+    double htcp_pkts_sent = 0.0;
 #endif
-    double request_failure_ratio;
-    double avg_client_http_requests;
-    double avg_icp_messages;
-    double select_loops;
-    double avg_loop_time;
-    double request_hit_ratio5;
-    double request_hit_ratio60;
-    double byte_hit_ratio5;
-    double byte_hit_ratio60;
-    double request_hit_mem_ratio5;
-    double request_hit_mem_ratio60;
-    double request_hit_disk_ratio5;
-    double request_hit_disk_ratio60;
+    double request_failure_ratio = 0.0;
+    double avg_client_http_requests = 0.0;
+    double avg_icp_messages = 0.0;
+    double select_loops = 0.0;
+    double avg_loop_time = 0.0;
+    double request_hit_ratio5 = 0.0;
+    double request_hit_ratio60 = 0.0;
+    double byte_hit_ratio5 = 0.0;
+    double byte_hit_ratio60 = 0.0;
+    double request_hit_mem_ratio5 = 0.0;
+    double request_hit_mem_ratio60 = 0.0;
+    double request_hit_disk_ratio5 = 0.0;
+    double request_hit_disk_ratio60 = 0.0;
 
     StoreInfoStats store; ///< disk and memory cache statistics
 
-    double unlink_requests;
-    double http_requests5;
-    double http_requests60;
-    double cache_misses5;
-    double cache_misses60;
-    double cache_hits5;
-    double cache_hits60;
-    double near_hits5;
-    double near_hits60;
-    double not_modified_replies5;
-    double not_modified_replies60;
-    double dns_lookups5;
-    double dns_lookups60;
-    double icp_queries5;
-    double icp_queries60;
-    double up_time;
-    double cpu_time;
-    double cpu_usage;
-    double cpu_usage5;
-    double cpu_usage60;
-#if HAVE_SBRK
-    double proc_data_seg;
-#endif
-    double maxrss;
-    double page_faults;
+    double unlink_requests = 0.0;
+    double http_requests5 = 0.0;
+    double http_requests60 = 0.0;
+    double cache_misses5 = 0.0;
+    double cache_misses60 = 0.0;
+    double cache_hits5 = 0.0;
+    double cache_hits60 = 0.0;
+    double near_hits5 = 0.0;
+    double near_hits60 = 0.0;
+    double not_modified_replies5 = 0.0;
+    double not_modified_replies60 = 0.0;
+    double dns_lookups5 = 0.0;
+    double dns_lookups60 = 0.0;
+    double icp_queries5 = 0.0;
+    double icp_queries60 = 0.0;
+    double up_time = 0.0;
+    double cpu_time = 0.0;
+    double cpu_usage = 0.0;
+    double cpu_usage5 = 0.0;
+    double cpu_usage60 = 0.0;
+    double maxrss = 0.0;
+    double page_faults = 0.0;
 #if HAVE_MSTATS && HAVE_GNUMALLOC_H
-    double ms_bytes_total;
-    double ms_bytes_free;
-#elif HAVE_MALLINFO && HAVE_STRUCT_MALLINFO
-    double mp_arena;
-    double mp_uordblks;
-    double mp_ordblks;
-    double mp_usmblks;
-    double mp_smblks;
-    double mp_hblkhd;
-    double mp_hblks;
-    double mp_fsmblks;
-    double mp_fordblks;
-#if HAVE_STRUCT_MALLINFO_MXFAST
-    double mp_mxfast;
-    double mp_nlblks;
-    double mp_grain;
-    double mp_uordbytes;
-    double mp_allocated;
-    double mp_treeoverhead;
-#endif
+    double ms_bytes_total = 0.0;
+    double ms_bytes_free = 0.0;
 #endif
-    double total_accounted;
-#if !(HAVE_MSTATS && HAVE_GNUMALLOC_H) && HAVE_MALLINFO && HAVE_STRUCT_MALLINFO
-    double mem_pool_allocated;
-#endif
-    double gb_saved_count;
-    double gb_freed_count;
-    double max_fd;
-    double biggest_fd;
-    double number_fd;
-    double opening_fd;
-    double num_fd_free;
-    double reserved_fd;
-    unsigned int count;
+    double total_accounted = 0.0;
+    double gb_saved_count = 0.0;
+    double gb_freed_count = 0.0;
+    double max_fd = 0.0;
+    double biggest_fd = 0.0;
+    double number_fd = 0.0;
+    double opening_fd = 0.0;
+    double num_fd_free = 0.0;
+    double reserved_fd = 0.0;
+    unsigned int count = 0;
 };
 
 /// implement aggregated 'info' action
@@ -120,15 +99,15 @@ protected:
 public:
     static Pointer Create(const CommandPointer &cmd);
     /* Action API */
-    virtual void add(const Action& action);
-    virtual void respond(const Request& request);
-    virtual void pack(Ipc::TypedMsgHdr& msg) const;
-    virtual void unpack(const Ipc::TypedMsgHdr& msg);
+    void add(const Action& action) override;
+    void respond(const Request& request) override;
+    void pack(Ipc::TypedMsgHdr& msg) const override;
+    void unpack(const Ipc::TypedMsgHdr& msg) override;
 
 protected:
     /* Action API */
-    virtual void collect();
-    virtual void dump(StoreEntry* entry);
+    void collect() override;
+    void dump(StoreEntry* entry) override;
 
 private:
     InfoActionData data;
@@ -137,3 +116,4 @@ private:
 } // namespace Mgr
 
 #endif /* SQUID_MGR_INFO_ACTION_H */
+