/*
- * $Id$
- *
* DEBUG: section 16 Cache Manager API
*
*/
-#include "config.h"
+#include "squid.h"
#include "base/TextException.h"
+#include "comm/Connection.h"
+#include "globals.h"
#include "HttpReply.h"
#include "ipc/Messages.h"
#include "ipc/TypedMsgHdr.h"
+#include "ipc/UdsOp.h"
#include "mgr/Filler.h"
#include "mgr/InfoAction.h"
#include "mgr/Request.h"
#include "mgr/Response.h"
#include "SquidTime.h"
#include "Store.h"
+#include "tools.h"
-
-extern void GetInfo(Mgr::InfoActionData& stats);
-extern void DumpInfo(Mgr::InfoActionData& stats, StoreEntry* sentry);
-extern void DumpMallocStatistics(StoreEntry* sentry);
+void GetInfo(Mgr::InfoActionData& stats);
+void DumpInfo(Mgr::InfoActionData& stats, StoreEntry* sentry);
+void DumpMallocStatistics(StoreEntry* sentry);
Mgr::InfoActionData::InfoActionData()
{
- xmemset(this, 0, sizeof(*this));
+ memset(this, 0, sizeof(*this));
}
Mgr::InfoActionData&
request_hit_mem_ratio60 += stats.request_hit_mem_ratio60;
request_hit_disk_ratio5 += stats.request_hit_disk_ratio5;
request_hit_disk_ratio60 += stats.request_hit_disk_ratio60;
- store_swap_size += stats.store_swap_size;
- store_swap_max_size += stats.store_swap_max_size;
- store_mem_size += stats.store_mem_size;
- store_pages_max += stats.store_pages_max;
- store_mem_used += stats.store_mem_used;
- objects_size += stats.objects_size;
+
+ store += stats.store;
+
unlink_requests += stats.unlink_requests;
http_requests5 += stats.http_requests5;
http_requests60 += stats.http_requests60;
gb_saved_count += stats.gb_saved_count;
gb_freed_count += stats.gb_freed_count;
max_fd += stats.max_fd;
- biggest_fd += stats.biggest_fd;
+ biggest_fd = max(biggest_fd, stats.biggest_fd);
number_fd += stats.number_fd;
opening_fd += stats.opening_fd;
num_fd_free += stats.num_fd_free;
reserved_fd += stats.reserved_fd;
- store_open_disk_fd += stats.store_open_disk_fd;
- store_entries += stats.store_entries;
- store_mem_entries += stats.store_mem_entries;
- hot_obj_count += stats.hot_obj_count;
- n_disk_objects += stats.n_disk_objects;
++count;
return *this;
return new InfoAction(cmd);
}
-Mgr::InfoAction::InfoAction(const CommandPointer &cmd):
- Action(cmd), data()
+Mgr::InfoAction::InfoAction(const CommandPointer &aCmd):
+ Action(aCmd), data()
{
debugs(16, 5, HERE);
}
Mgr::InfoAction::respond(const Request& request)
{
debugs(16, 5, HERE);
- int fd = ImportHttpFdIntoComm(request.fd);
- Must(fd >= 0);
+ Ipc::ImportFdIntoComm(request.conn, SOCK_STREAM, IPPROTO_TCP, Ipc::fdnHttpSocket);
+ Must(Comm::IsConnOpen(request.conn));
Must(request.requestId != 0);
- AsyncJob::Start(new Mgr::Filler(this, fd, request.requestId));
+ AsyncJob::Start(new Mgr::Filler(this, request.conn, request.requestId));
}
void
Must(entry != NULL);
#if XMALLOC_STATISTICS
- if (UsingSmp() && IamWorkerProcess())
+ if (UsingSmp())
storeAppendPrintf(entry, "by kid%d {\n", KidIdentifier);
DumpMallocStatistics(entry);
- if (UsingSmp() && IamWorkerProcess())
+ if (UsingSmp())
storeAppendPrintf(entry, "} by kid%d\n\n", KidIdentifier);
#endif
if (IamPrimaryProcess())