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