Squid Web Cache
master
Loading...
Searching...
No Matches
CountersAction.cc
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3
*
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.
7
*/
8
9
/* DEBUG: section 16 Cache Manager API */
10
11
#include "
squid.h
"
12
#include "
base/TextException.h
"
13
#include "
ipc/Messages.h
"
14
#include "
ipc/TypedMsgHdr.h
"
15
#include "
mgr/CountersAction.h
"
16
#include "
Store.h
"
17
#include "tools.h"
18
19
void
GetCountersStats
(
Mgr::CountersActionData
& stats);
20
void
DumpCountersStats
(
Mgr::CountersActionData
& stats,
StoreEntry
* sentry);
21
22
Mgr::CountersActionData::CountersActionData
()
23
{
24
memset(
this
, 0,
sizeof
(*
this
));
25
}
26
27
Mgr::CountersActionData
&
28
Mgr::CountersActionData::operator +=
(
const
CountersActionData
& stats)
29
{
30
if
(
timercmp
(&sample_time, &stats.
sample_time
, <))
31
sample_time = stats.
sample_time
;
32
client_http_requests += stats.
client_http_requests
;
33
client_http_hits += stats.
client_http_hits
;
34
client_http_errors += stats.
client_http_errors
;
35
client_http_kbytes_in += stats.
client_http_kbytes_in
;
36
client_http_kbytes_out += stats.
client_http_kbytes_out
;
37
client_http_hit_kbytes_out += stats.
client_http_hit_kbytes_out
;
38
server_all_requests += stats.
server_all_requests
;
39
server_all_errors += stats.
server_all_errors
;
40
server_all_kbytes_in += stats.
server_all_kbytes_in
;
41
server_all_kbytes_out += stats.
server_all_kbytes_out
;
42
server_http_requests += stats.
server_http_requests
;
43
server_http_errors += stats.
server_http_errors
;
44
server_http_kbytes_in += stats.
server_http_kbytes_in
;
45
server_http_kbytes_out += stats.
server_http_kbytes_out
;
46
server_ftp_requests += stats.
server_ftp_requests
;
47
server_ftp_errors += stats.
server_ftp_errors
;
48
server_ftp_kbytes_in += stats.
server_ftp_kbytes_in
;
49
server_ftp_kbytes_out += stats.
server_ftp_kbytes_out
;
50
server_other_requests += stats.
server_other_requests
;
51
server_other_errors += stats.
server_other_errors
;
52
server_other_kbytes_in += stats.
server_other_kbytes_in
;
53
server_other_kbytes_out += stats.
server_other_kbytes_out
;
54
icp_pkts_sent += stats.
icp_pkts_sent
;
55
icp_pkts_recv += stats.
icp_pkts_recv
;
56
icp_queries_sent += stats.
icp_queries_sent
;
57
icp_replies_sent += stats.
icp_replies_sent
;
58
icp_queries_recv += stats.
icp_queries_recv
;
59
icp_replies_recv += stats.
icp_replies_recv
;
60
icp_replies_queued += stats.
icp_replies_queued
;
61
icp_query_timeouts += stats.
icp_query_timeouts
;
62
icp_kbytes_sent += stats.
icp_kbytes_sent
;
63
icp_kbytes_recv += stats.
icp_kbytes_recv
;
64
icp_q_kbytes_sent += stats.
icp_q_kbytes_sent
;
65
icp_r_kbytes_sent += stats.
icp_r_kbytes_sent
;
66
icp_q_kbytes_recv += stats.
icp_q_kbytes_recv
;
67
icp_r_kbytes_recv += stats.
icp_r_kbytes_recv
;
68
#if USE_CACHE_DIGESTS
69
icp_times_used += stats.
icp_times_used
;
70
cd_times_used += stats.
cd_times_used
;
71
cd_msgs_sent += stats.
cd_msgs_sent
;
72
cd_msgs_recv += stats.
cd_msgs_recv
;
73
cd_memory += stats.
cd_memory
;
74
cd_local_memory += stats.
cd_local_memory
;
75
cd_kbytes_sent += stats.
cd_kbytes_sent
;
76
cd_kbytes_recv += stats.
cd_kbytes_recv
;
77
#endif
78
unlink_requests += stats.
unlink_requests
;
79
page_faults += stats.
page_faults
;
80
select_loops += stats.
select_loops
;
81
cpu_time += stats.
cpu_time
;
82
wall_time += stats.
wall_time
;
83
swap_outs += stats.
swap_outs
;
84
swap_ins += stats.
swap_ins
;
85
swap_files_cleaned += stats.
swap_files_cleaned
;
86
aborted_requests += stats.
aborted_requests
;
87
hitValidationAttempts += stats.
hitValidationAttempts
;
88
hitValidationRefusalsDueToLocking += stats.
hitValidationRefusalsDueToLocking
;
89
hitValidationRefusalsDueToZeroSize += stats.
hitValidationRefusalsDueToZeroSize
;
90
hitValidationRefusalsDueToTimeLimit += stats.
hitValidationRefusalsDueToTimeLimit
;
91
hitValidationFailures += stats.
hitValidationFailures
;
92
93
return
*
this
;
94
}
95
96
Mgr::CountersAction::Pointer
97
Mgr::CountersAction::Create
(
const
CommandPointer
&cmd)
98
{
99
return
new
CountersAction
(cmd);
100
}
101
102
Mgr::CountersAction::CountersAction
(
const
CommandPointer
&aCmd):
103
Action
(aCmd), data()
104
{
105
debugs
(16, 5,
MYNAME
);
106
}
107
108
void
109
Mgr::CountersAction::add
(
const
Action
& action)
110
{
111
debugs
(16, 5,
MYNAME
);
112
data +=
dynamic_cast<
const
CountersAction
&
>
(action).data;
113
}
114
115
void
116
Mgr::CountersAction::collect
()
117
{
118
debugs
(16, 5,
MYNAME
);
119
GetCountersStats
(data);
120
}
121
122
void
123
Mgr::CountersAction::dump
(
StoreEntry
* entry)
124
{
125
debugs
(16, 5,
MYNAME
);
126
Must
(entry !=
nullptr
);
127
DumpCountersStats
(data, entry);
128
}
129
130
void
131
Mgr::CountersAction::pack
(
Ipc::TypedMsgHdr
& msg)
const
132
{
133
msg.
setType
(
Ipc::mtCacheMgrResponse
);
134
msg.
putPod
(data);
135
}
136
137
void
138
Mgr::CountersAction::unpack
(
const
Ipc::TypedMsgHdr
& msg)
139
{
140
msg.
checkType
(
Ipc::mtCacheMgrResponse
);
141
msg.
getPod
(data);
142
}
143
GetCountersStats
void GetCountersStats(Mgr::CountersActionData &stats)
Definition
stat.cc:1357
DumpCountersStats
void DumpCountersStats(Mgr::CountersActionData &stats, StoreEntry *sentry)
Definition
stat.cc:1439
CountersAction.h
Store.h
TextException.h
Must
#define Must(condition)
Definition
TextException.h:75
TypedMsgHdr.h
Ipc::TypedMsgHdr
struct msghdr with a known type, fixed-size I/O and control buffers
Definition
TypedMsgHdr.h:35
Ipc::TypedMsgHdr::getPod
void getPod(Pod &pod) const
load POD
Definition
TypedMsgHdr.h:118
Ipc::TypedMsgHdr::checkType
void checkType(int aType) const
Definition
TypedMsgHdr.cc:94
Ipc::TypedMsgHdr::putPod
void putPod(const Pod &pod)
store POD
Definition
TypedMsgHdr.h:126
Ipc::TypedMsgHdr::setType
void setType(int aType)
sets message type; use MessageType enum
Definition
TypedMsgHdr.cc:100
Mgr::Action
Definition
Action.h:26
Mgr::CountersActionData
store traffic and resource counters
Definition
CountersAction.h:21
Mgr::CountersActionData::swap_ins
double swap_ins
Definition
CountersAction.h:80
Mgr::CountersActionData::cd_kbytes_sent
double cd_kbytes_sent
Definition
CountersAction.h:71
Mgr::CountersActionData::icp_r_kbytes_sent
double icp_r_kbytes_sent
Definition
CountersAction.h:61
Mgr::CountersActionData::icp_query_timeouts
double icp_query_timeouts
Definition
CountersAction.h:57
Mgr::CountersActionData::server_other_kbytes_in
double server_other_kbytes_in
Definition
CountersAction.h:48
Mgr::CountersActionData::server_other_kbytes_out
double server_other_kbytes_out
Definition
CountersAction.h:49
Mgr::CountersActionData::page_faults
double page_faults
Definition
CountersAction.h:75
Mgr::CountersActionData::client_http_kbytes_in
double client_http_kbytes_in
Definition
CountersAction.h:31
Mgr::CountersActionData::icp_replies_queued
double icp_replies_queued
Definition
CountersAction.h:56
Mgr::CountersActionData::client_http_errors
double client_http_errors
Definition
CountersAction.h:30
Mgr::CountersActionData::unlink_requests
double unlink_requests
Definition
CountersAction.h:74
Mgr::CountersActionData::server_other_requests
double server_other_requests
Definition
CountersAction.h:46
Mgr::CountersActionData::select_loops
double select_loops
Definition
CountersAction.h:76
Mgr::CountersActionData::server_ftp_errors
double server_ftp_errors
Definition
CountersAction.h:43
Mgr::CountersActionData::icp_queries_recv
double icp_queries_recv
Definition
CountersAction.h:54
Mgr::CountersActionData::icp_queries_sent
double icp_queries_sent
Definition
CountersAction.h:52
Mgr::CountersActionData::icp_q_kbytes_recv
double icp_q_kbytes_recv
Definition
CountersAction.h:62
Mgr::CountersActionData::icp_replies_recv
double icp_replies_recv
Definition
CountersAction.h:55
Mgr::CountersActionData::server_http_kbytes_out
double server_http_kbytes_out
Definition
CountersAction.h:41
Mgr::CountersActionData::server_ftp_requests
double server_ftp_requests
Definition
CountersAction.h:42
Mgr::CountersActionData::cd_memory
double cd_memory
Definition
CountersAction.h:69
Mgr::CountersActionData::server_ftp_kbytes_in
double server_ftp_kbytes_in
Definition
CountersAction.h:44
Mgr::CountersActionData::cd_local_memory
double cd_local_memory
Definition
CountersAction.h:70
Mgr::CountersActionData::icp_kbytes_recv
double icp_kbytes_recv
Definition
CountersAction.h:59
Mgr::CountersActionData::cpu_time
double cpu_time
Definition
CountersAction.h:77
Mgr::CountersActionData::cd_kbytes_recv
double cd_kbytes_recv
Definition
CountersAction.h:72
Mgr::CountersActionData::server_ftp_kbytes_out
double server_ftp_kbytes_out
Definition
CountersAction.h:45
Mgr::CountersActionData::client_http_requests
double client_http_requests
Definition
CountersAction.h:28
Mgr::CountersActionData::CountersActionData
CountersActionData()
Definition
CountersAction.cc:22
Mgr::CountersActionData::hitValidationRefusalsDueToZeroSize
double hitValidationRefusalsDueToZeroSize
Definition
CountersAction.h:85
Mgr::CountersActionData::aborted_requests
double aborted_requests
Definition
CountersAction.h:82
Mgr::CountersActionData::client_http_hits
double client_http_hits
Definition
CountersAction.h:29
Mgr::CountersActionData::cd_msgs_sent
double cd_msgs_sent
Definition
CountersAction.h:67
Mgr::CountersActionData::server_all_kbytes_in
double server_all_kbytes_in
Definition
CountersAction.h:36
Mgr::CountersActionData::hitValidationRefusalsDueToTimeLimit
double hitValidationRefusalsDueToTimeLimit
Definition
CountersAction.h:86
Mgr::CountersActionData::swap_files_cleaned
double swap_files_cleaned
Definition
CountersAction.h:81
Mgr::CountersActionData::sample_time
struct timeval sample_time
Definition
CountersAction.h:27
Mgr::CountersActionData::icp_pkts_recv
double icp_pkts_recv
Definition
CountersAction.h:51
Mgr::CountersActionData::swap_outs
double swap_outs
Definition
CountersAction.h:79
Mgr::CountersActionData::client_http_hit_kbytes_out
double client_http_hit_kbytes_out
Definition
CountersAction.h:33
Mgr::CountersActionData::hitValidationRefusalsDueToLocking
double hitValidationRefusalsDueToLocking
Definition
CountersAction.h:84
Mgr::CountersActionData::server_all_errors
double server_all_errors
Definition
CountersAction.h:35
Mgr::CountersActionData::icp_r_kbytes_recv
double icp_r_kbytes_recv
Definition
CountersAction.h:63
Mgr::CountersActionData::icp_kbytes_sent
double icp_kbytes_sent
Definition
CountersAction.h:58
Mgr::CountersActionData::cd_msgs_recv
double cd_msgs_recv
Definition
CountersAction.h:68
Mgr::CountersActionData::server_all_requests
double server_all_requests
Definition
CountersAction.h:34
Mgr::CountersActionData::hitValidationFailures
double hitValidationFailures
Definition
CountersAction.h:87
Mgr::CountersActionData::server_http_errors
double server_http_errors
Definition
CountersAction.h:39
Mgr::CountersActionData::hitValidationAttempts
double hitValidationAttempts
Definition
CountersAction.h:83
Mgr::CountersActionData::client_http_kbytes_out
double client_http_kbytes_out
Definition
CountersAction.h:32
Mgr::CountersActionData::wall_time
double wall_time
Definition
CountersAction.h:78
Mgr::CountersActionData::server_other_errors
double server_other_errors
Definition
CountersAction.h:47
Mgr::CountersActionData::server_http_kbytes_in
double server_http_kbytes_in
Definition
CountersAction.h:40
Mgr::CountersActionData::icp_q_kbytes_sent
double icp_q_kbytes_sent
Definition
CountersAction.h:60
Mgr::CountersActionData::icp_pkts_sent
double icp_pkts_sent
Definition
CountersAction.h:50
Mgr::CountersActionData::server_http_requests
double server_http_requests
Definition
CountersAction.h:38
Mgr::CountersActionData::operator+=
CountersActionData & operator+=(const CountersActionData &stats)
Definition
CountersAction.cc:28
Mgr::CountersActionData::cd_times_used
double cd_times_used
Definition
CountersAction.h:66
Mgr::CountersActionData::icp_times_used
double icp_times_used
Definition
CountersAction.h:65
Mgr::CountersActionData::icp_replies_sent
double icp_replies_sent
Definition
CountersAction.h:53
Mgr::CountersActionData::server_all_kbytes_out
double server_all_kbytes_out
Definition
CountersAction.h:37
Mgr::CountersAction
implement aggregated 'counters' action
Definition
CountersAction.h:92
Mgr::CountersAction::add
void add(const Action &action) override
incrementally merge in remote information (of the same action type)
Definition
CountersAction.cc:109
Mgr::CountersAction::pack
void pack(Ipc::TypedMsgHdr &msg) const override
pack collected action info into a message to be sent to Coordinator
Definition
CountersAction.cc:131
Mgr::CountersAction::collect
void collect() override
calculate and keep local action-specific information
Definition
CountersAction.cc:116
Mgr::CountersAction::CountersAction
CountersAction(const CommandPointer &cmd)
Definition
CountersAction.cc:102
Mgr::CountersAction::unpack
void unpack(const Ipc::TypedMsgHdr &msg) override
unpack action info from the message received by Coordinator
Definition
CountersAction.cc:138
Mgr::CountersAction::dump
void dump(StoreEntry *entry) override
Definition
CountersAction.cc:123
Mgr::CountersAction::Create
static Pointer Create(const CommandPointer &cmd)
Definition
CountersAction.cc:97
RefCount< Action >
StoreEntry
Definition
Store.h:38
MYNAME
#define MYNAME
Definition
Stream.h:219
debugs
#define debugs(SECTION, LEVEL, CONTENT)
Definition
Stream.h:192
Messages.h
Ipc::mtCacheMgrResponse
@ mtCacheMgrResponse
Definition
Messages.h:36
timercmp
#define timercmp(tvp, uvp, cmp)
Definition
snmp_api_util.h:76
squid.h
squid
src
mgr
CountersAction.cc
Generated by
1.9.8