]> git.ipfire.org Git - thirdparty/squid.git/blob - include/cache_snmp.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / include / cache_snmp.h
1 /*
2 * Copyright (C) 1996-2023 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 #ifndef SQUID_CACHE_SNMP_H
10 #define SQUID_CACHE_SNMP_H
11
12 #if SQUID_SNMP
13
14 typedef int64_t snint;
15
16 #ifndef MIN
17 #define MIN(a,b) (a<b?a:b)
18 #endif
19
20 #include "snmp.h"
21 #include "snmp_api.h"
22 #include "snmp_impl.h"
23
24 /* MIB definitions
25 * SQUID-MIB
26 * .iso.org.dod.internet.private.enterprises.nlanr.squid
27 * 1 3 6 1 4 1 3495 1
28 *
29 * PROXY-MIB
30 * .iso.org.dod.internet.experimental.nsfnet.proxy
31 * 1 3 6 1 3 25 17
32 */
33
34 #define SQUIDMIB 1, 3, 6, 1, 4, 1, 3495, 1
35 #define LEN_SQUIDMIB 8
36 #define INSTANCE 0
37 #define TIME_INDEX 1, 5, 60
38 #define TIME_INDEX_LEN 3
39
40 /* basic groups under .squid */
41
42 #define SQ_SYS SQUIDMIB, 1 /* cacheSystem group { squid 1 } */
43 #define LEN_SQ_SYS LEN_SQUIDMIB+1
44 #define SQ_CONF SQUIDMIB, 2 /* cacheConfig group { squid 2 } */
45 #define LEN_SQ_CONF LEN_SQUIDMIB+1
46 #define SQ_PRF SQUIDMIB, 3 /* cachePerformance group { squid 3 } */
47 #define LEN_SQ_PRF LEN_SQUIDMIB+1
48 #define SQ_NET SQUIDMIB, 4 /* cacheNetwork group { squid 4 } */
49 #define LEN_SQ_NET LEN_SQUIDMIB+1
50 #define SQ_MESH SQUIDMIB, 5 /* cacheMesh group { squid 5 } */
51 #define LEN_SQ_MESH LEN_SQUIDMIB+1
52
53 /**
54 * cacheSystem group { squid 1 }
55 */
56 enum {
57 SYS_START = 0,
58 SYSVMSIZ = 1, /**< cacheSysVMsize */
59 SYSSTOR = 2, /**< cacheSysStorage */
60 SYS_UPTIME = 3, /**< cacheUptime */
61 SYS_END
62 };
63
64 #define LEN_SYS LEN_SQ_SYS + 1
65 #define LEN_SYS_INST LEN_SQ_SYS + 2
66
67 /**
68 * cacheConfig group { squid 2 }
69 */
70 enum {
71 CONF_START = 0,
72 CONF_ADMIN = 1, /**< cacheAdmin */
73 CONF_VERSION = 2, /**< cacheSoftware */
74 CONF_VERSION_ID = 3, /**< cacheVersionId */
75 CONF_LOG_FAC = 4, /**< cacheLoggingFacility */
76 CONF_STORAGE = 5, /**< cacheStorageConfig group */
77 CONF_UNIQNAME = 6, /**< cacheUniqName */
78 CONF_END
79 };
80
81 #define LEN_CONF LEN_SQ_CONF + 1
82 #define LEN_CONF_INST LEN_SQ_CONF + 2
83
84 /**
85 * cacheStorageConfig group { cacheConfig 5 }
86 */
87 enum {
88 CONF_ST_START = 0,
89 CONF_ST_MMAXSZ = 1, /* cacheMemMaxSize */
90 CONF_ST_SWMAXSZ = 2, /* cacheSwapMaxSize */
91 CONF_ST_SWHIWM = 3, /* cacheSwapHighWM */
92 CONF_ST_SWLOWM = 4, /* cacheSwapLowWM */
93 CONF_ST_END
94 };
95
96 #define LEN_CONF_ST LEN_CONF + 1
97 #define LEN_CONF_ST_INST LEN_CONF + 2
98
99 /*
100 * Cache Performance Group {squid 3}
101 */
102
103 enum {
104 PERF_START = 0,
105 PERF_SYS = 1, /* cacheSysPerf */
106 PERF_PROTO = 2, /* cacheProtoStats */
107 PERF_END
108 };
109
110 /* cacheSysPerf */
111 enum {
112 PERF_SYS_START = 0,
113 PERF_SYS_PF = 1, /* cacheSysPageFaults */
114 PERF_SYS_NUMR = 2, /* cacheSysNumReads */
115 PERF_SYS_MEMUSAGE = 3, /* cacheMemUsage */
116 PERF_SYS_CPUTIME = 4, /* cacheCpuTime */
117 PERF_SYS_CPUUSAGE = 5, /* cacheCpuUsage */
118 PERF_SYS_MAXRESSZ = 6, /* cacheMaxResSize */
119 PERF_SYS_NUMOBJCNT = 7, /* cacheNumObjCount */
120 PERF_SYS_CURLRUEXP = 8, /* cacheCurrentLRUExpiration */
121 PERF_SYS_CURUNLREQ = 9, /* cacheCurrentUnlinkRequests */
122 PERF_SYS_CURUNUSED_FD = 10, /* cacheCurrentUnusedFDescrCnt */
123 PERF_SYS_CURRESERVED_FD = 11, /* cacheCurrentResFileDescrCnt */
124 PERF_SYS_CURUSED_FD = 12, /* cacheCurrentFileDescrCnt */
125 PERF_SYS_CURMAX_FD = 13, /* cacheCurrentFileDescrMax */
126 PERF_SYS_END
127 };
128
129 /* cacheProtoStats */
130 enum {
131 PERF_PROTOSTAT_START,
132 PERF_PROTOSTAT_AGGR = 1, /* cacheProtoAggregateStats */
133 PERF_PROTOSTAT_MEDIAN = 2, /* cacheMedianSvcTable */
134 PERF_PROTOSTAT_END
135 };
136
137 /* cacheProtoAggregateStats */
138 enum {
139 PERF_PROTOSTAT_AGGR_START = 0,
140 PERF_PROTOSTAT_AGGR_HTTP_REQ = 1, /* cacheProtoClientHttpRequests */
141 PERF_PROTOSTAT_AGGR_HTTP_HITS = 2, /* cacheHttpHits */
142 PERF_PROTOSTAT_AGGR_HTTP_ERRORS = 3, /* cacheHttpErrors */
143 PERF_PROTOSTAT_AGGR_HTTP_KBYTES_IN = 4, /* cacheHttpInKb */
144 PERF_PROTOSTAT_AGGR_HTTP_KBYTES_OUT = 5, /* cacheHttpOutKb */
145 PERF_PROTOSTAT_AGGR_ICP_S = 6, /* cacheIcpPktsSent */
146 PERF_PROTOSTAT_AGGR_ICP_R = 7, /* cacheIcpPktsRecv */
147 PERF_PROTOSTAT_AGGR_ICP_SKB = 8, /* cacheIcpKbSent */
148 PERF_PROTOSTAT_AGGR_ICP_RKB = 9, /* cacheIcpKbRecv */
149 PERF_PROTOSTAT_AGGR_REQ = 10, /* cacheServerRequests */
150 PERF_PROTOSTAT_AGGR_ERRORS = 11, /* cacheServerErrors */
151 PERF_PROTOSTAT_AGGR_KBYTES_IN = 12, /* cacheServerInKb */
152 PERF_PROTOSTAT_AGGR_KBYTES_OUT = 13, /* cacheServerOutKb */
153 PERF_PROTOSTAT_AGGR_CURSWAP = 14, /* cacheCurrentSwapSize */
154 PERF_PROTOSTAT_AGGR_CLIENTS = 15, /* cacheClients */
155 PERF_PROTOSTAT_AGGR_END
156 };
157
158 /* cacheMedianSvcEntry */
159 enum {
160 PERF_MEDIAN_START = 0,
161 PERF_MEDIAN_TIME = 1, /* cacheMedianTime */
162 PERF_MEDIAN_HTTP_ALL = 2, /* cacheHttpAllSvcTime */
163 PERF_MEDIAN_HTTP_MISS = 3, /* cacheHttpMissSvcTime */
164 PERF_MEDIAN_HTTP_NM = 4, /* cacheHttpNmSvcTime */
165 PERF_MEDIAN_HTTP_HIT = 5, /* cacheHttpHitSvcTime */
166 PERF_MEDIAN_ICP_QUERY = 6, /* cacheIcpQuerySvcTime */
167 PERF_MEDIAN_ICP_REPLY = 7, /* cacheIcpReplySvcTime */
168 PERF_MEDIAN_DNS = 8, /* cacheDnsSvcTime */
169 PERF_MEDIAN_RHR = 9, /* cacheRequestHitRatio */
170 PERF_MEDIAN_BHR = 10, /* cacheRequestByteRatio */
171 PERF_MEDIAN_HTTP_NH = 11, /* cacheHttpNhSvcTime */
172 PERF_MEDIAN_END
173 };
174
175 /*
176 * cacheNetwork group { squid 4 }
177 */
178 enum {
179 NET_START = 0,
180 NET_IP_CACHE = 1, /* cacheIpCache */
181 NET_FQDN_CACHE = 2, /* cacheFqdnCache */
182 NET_DNS_CACHE = 3, /* cacheDns */
183 NET_END
184 };
185
186 /* cacheIpCache */
187 enum {
188 IP_START = 0,
189 IP_ENT = 1, /* cacheIpEntrie */
190 IP_REQ = 2, /* cacheIpRequests */
191 IP_HITS = 3, /* acheIpHits */
192 IP_PENDHIT = 4, /* cacheIpPendingHits */
193 IP_NEGHIT = 5, /* cacheIpNegativeHit */
194 IP_MISS = 6, /* cacheIpMisses */
195 IP_GHBN = 7, /* cacheBlockingGetHostByName */
196 IP_LOC = 8, /* cacheAttemptReleaseLckEntries */
197 IP_END
198 };
199
200 /* cacheFqdnCache */
201 enum {
202 FQDN_START = 0,
203 FQDN_ENT = 1, /* cacheFqdnEntries */
204 FQDN_REQ = 2, /* cacheFqdnRequests */
205 FQDN_HITS = 3, /* cacheFqdnHits */
206 FQDN_PENDHIT = 4, /* cacheFqdnPendingHits */
207 FQDN_NEGHIT = 5, /* cacheFqdnNegativeHits */
208 FQDN_MISS = 6, /* cacheFqdnMisses */
209 FQDN_GHBN = 7, /* cacheBlockingGetHostByAddr */
210 FQDN_END
211 };
212
213 /* cacheDNS */
214 enum {
215 DNS_START = 0,
216 DNS_REQ = 1, /* cacheDnsRequests */
217 DNS_REP = 2, /* cacheDnsReplies */
218 DNS_SERVERS = 3, /* cacheDnsNumberServers */
219 DNS_END
220 };
221
222 /*
223 * cacheMesh group { squid 5 }
224 */
225
226 enum {
227 MESH_START = 0,
228 MESH_PTBL = 1, /* cachePeerTable */
229 MESH_CTBL = 2, /* cacheClientTable */
230 MESH_END
231 };
232
233 /* CachePeerEntry (version 3) */
234 enum {
235 MESH_PTBL_START = 0,
236 MESH_PTBL_INDEX = 1, /* cachePeerIndex */
237 MESH_PTBL_NAME = 2, /* cachePeerName */
238 MESH_PTBL_ADDR_TYPE = 3, /* cachePeerAddressType */
239 MESH_PTBL_ADDR = 4, /* cachePeerAddress */
240 MESH_PTBL_HTTP = 5, /* cachePortHttp */
241 MESH_PTBL_ICP = 6, /* cachePeerPortIcp */
242 MESH_PTBL_TYPE = 7, /* cachePeerType */
243 MESH_PTBL_STATE = 8, /* cachePeerStat */
244 MESH_PTBL_SENT = 9, /* cachePeerPingsSent */
245 MESH_PTBL_PACKED = 10, /* cachePeerPingsAcked */
246 MESH_PTBL_FETCHES = 11, /* cachePeerFetches */
247 MESH_PTBL_RTT = 12, /* cachePeerRtt */
248 MESH_PTBL_IGN = 13, /* cachePeerIgnored */
249 MESH_PTBL_KEEPAL_S = 14, /* cachePeerKeepAlSent */
250 MESH_PTBL_KEEPAL_R = 15, /* cachePeerKeepAlRecv */
251 MESH_PTBL_END
252 };
253
254 /* cacheClientEntry */
255 enum {
256 MESH_CTBL_START = 0,
257 MESH_CTBL_ADDR_TYPE = 1, /* cacheClientAddressType */
258 MESH_CTBL_ADDR = 2, /* cacheClientAddress */
259 MESH_CTBL_HTREQ = 3, /* cacheClientHttpRequests */
260 MESH_CTBL_HTBYTES = 4, /* cacheClientHttpKb */
261 MESH_CTBL_HTHITS = 5, /* cacheClientHttpHits */
262 MESH_CTBL_HTHITBYTES = 6, /* cacheClientHTTPHitKb */
263 MESH_CTBL_ICPREQ = 7, /* cacheClientIcpRequests */
264 MESH_CTBL_ICPBYTES = 8, /* cacheClientIcpKb */
265 MESH_CTBL_ICPHITS = 9, /* cacheClientIcpHits */
266 MESH_CTBL_ICPHITBYTES = 10, /* cacheClientIcpHitKb */
267 MESH_CTBL_END
268 };
269
270 #endif /* SQUID_SNMP */
271
272 #endif /* SQUID_CACHE_SNMP_H */
273