]> git.ipfire.org Git - thirdparty/squid.git/blob - include/cache_snmp.h
Bug #1769: near-hit and filedescriptor usage missing in SNMP MIB
[thirdparty/squid.git] / include / cache_snmp.h
1 /*
2 * $Id: cache_snmp.h,v 1.29 2006/09/22 02:48:51 hno Exp $
3 */
4
5 #ifndef SQUID_CACHE_SNMP_H
6 #define SQUID_CACHE_SNMP_H
7
8 #ifdef SQUID_SNMP
9
10 #if SIZEOF_LONG == 8
11 #define snint int
12 #else
13 #define snint long
14 #endif
15
16 #ifndef MIN
17 #define MIN(a,b) (a<b?a:b)
18 #endif
19
20 #include "snmp.h"
21 #include "snmp_impl.h"
22 #include "asn1.h"
23 #include "snmp_api.h"
24
25 #include "snmp_vars.h"
26
27 /* MIB definitions
28 * SQUID-MIB
29 * .iso.org.dod.internet.private.enterprises.nlanr.squid
30 * 1 3 6 1 4 1 3495 1
31 *
32 * PROXY-MIB
33 * .iso.org.dod.internet.experimental.nsfnet.proxy
34 * 1 3 6 1 3 25 17
35 */
36
37 #define SQUIDMIB 1, 3, 6, 1, 4, 1, 3495, 1
38 #define LEN_SQUIDMIB 8
39 #define INSTANCE 0
40 #define TIME_INDEX 1, 5, 60
41 #define TIME_INDEX_LEN 3
42
43 /* basic groups under .squid */
44
45 #define SQ_SYS SQUIDMIB, 1
46 #define LEN_SQ_SYS LEN_SQUIDMIB+1
47 #define SQ_CONF SQUIDMIB, 2
48 #define LEN_SQ_CONF LEN_SQUIDMIB+1
49 #define SQ_PRF SQUIDMIB, 3
50 #define LEN_SQ_PRF LEN_SQUIDMIB+1
51 #define SQ_NET SQUIDMIB, 4
52 #define LEN_SQ_NET LEN_SQUIDMIB+1
53 #define SQ_MESH SQUIDMIB, 5
54 #define LEN_SQ_MESH LEN_SQUIDMIB+1
55
56 /*
57 * cacheSystem group
58 */
59
60 enum {
61 SYS_START,
62 SYSVMSIZ,
63 SYSSTOR,
64 SYS_UPTIME,
65 SYS_END
66 };
67
68 #define LEN_SYS LEN_SQ_SYS + 1
69 #define LEN_SYS_INST LEN_SQ_SYS + 2
70
71 /*
72 * cacheConfig group
73 */
74
75 enum {
76 CONF_START,
77 CONF_ADMIN,
78 CONF_VERSION,
79 CONF_VERSION_ID,
80 CONF_LOG_FAC,
81 CONF_STORAGE,
82 CONF_UNIQNAME,
83 CONF_END
84 };
85
86 #define LEN_CONF LEN_SQ_CONF + 1
87 #define LEN_CONF_INST LEN_SQ_CONF + 2
88
89 enum {
90 CONF_ST_START,
91 CONF_ST_MMAXSZ,
92 CONF_ST_SWMAXSZ,
93 CONF_ST_SWHIWM,
94 CONF_ST_SWLOWM,
95 CONF_ST_END
96 };
97
98 #define LEN_CONF_ST LEN_CONF + 1
99 #define LEN_CONF_ST_INST LEN_CONF + 2
100
101 /*
102 * cacheMesh group
103 */
104
105 enum {
106 MESH_START,
107 MESH_PTBL,
108 MESH_CTBL,
109 MESH_END
110 };
111
112 enum { /* cachePeerTable */
113 MESH_PTBL_START,
114 MESH_PTBL_NAME,
115 MESH_PTBL_IP,
116 MESH_PTBL_HTTP,
117 MESH_PTBL_ICP,
118 MESH_PTBL_TYPE,
119 MESH_PTBL_STATE,
120 MESH_PTBL_SENT,
121 MESH_PTBL_PACKED,
122 MESH_PTBL_FETCHES,
123 MESH_PTBL_RTT,
124 MESH_PTBL_IGN,
125 MESH_PTBL_KEEPAL_S,
126 MESH_PTBL_KEEPAL_R,
127 MESH_PTBL_END
128 };
129
130 enum { /* cacheClientTable */
131 MESH_CTBL_START,
132 MESH_CTBL_ADDR,
133 MESH_CTBL_HTREQ,
134 MESH_CTBL_HTBYTES,
135 MESH_CTBL_HTHITS,
136 MESH_CTBL_HTHITBYTES,
137 MESH_CTBL_ICPREQ,
138 MESH_CTBL_ICPBYTES,
139 MESH_CTBL_ICPHITS,
140 MESH_CTBL_ICPHITBYTES,
141 MESH_CTBL_END
142 };
143
144 /*
145 * cacheNetwork group
146 */
147
148 enum {
149 NET_START,
150 NET_IP_CACHE,
151 NET_FQDN_CACHE,
152 NET_DNS_CACHE,
153 NET_END
154 };
155
156 enum {
157 IP_START,
158 IP_ENT,
159 IP_REQ,
160 IP_HITS,
161 IP_PENDHIT,
162 IP_NEGHIT,
163 IP_MISS,
164 IP_GHBN,
165 IP_LOC,
166 IP_END
167 };
168
169 enum {
170 FQDN_START,
171 FQDN_ENT,
172 FQDN_REQ,
173 FQDN_HITS,
174 FQDN_PENDHIT,
175 FQDN_NEGHIT,
176 FQDN_MISS,
177 FQDN_GHBN,
178 FQDN_END
179 };
180
181 enum {
182 DNS_START,
183 DNS_REQ,
184 DNS_REP,
185 DNS_SERVERS,
186 DNS_END
187 };
188
189 /*
190 * Cache Performance Group
191 */
192
193 enum {
194 PERF_START,
195 PERF_SYS,
196 PERF_PROTO,
197 PERF_END
198 };
199
200 enum {
201 PERF_SYS_START,
202 PERF_SYS_PF,
203 PERF_SYS_NUMR,
204 PERF_SYS_MEMUSAGE,
205 PERF_SYS_CPUTIME,
206 PERF_SYS_CPUUSAGE,
207 PERF_SYS_MAXRESSZ,
208 PERF_SYS_NUMOBJCNT,
209 PERF_SYS_CURLRUEXP,
210 PERF_SYS_CURUNLREQ,
211 PERF_SYS_CURUNUSED_FD,
212 PERF_SYS_CURRESERVED_FD,
213 PERF_SYS_CURUSED_FD,
214 PERF_SYS_CURMAX_FD,
215 PERF_SYS_END
216 };
217
218 enum {
219 PERF_PROTOSTAT_START,
220 PERF_PROTOSTAT_AGGR,
221 PERF_PROTOSTAT_MEDIAN,
222 PERF_PROTOSTAT_END
223 };
224
225 enum {
226 PERF_PROTOSTAT_AGGR_START,
227 PERF_PROTOSTAT_AGGR_HTTP_REQ,
228 PERF_PROTOSTAT_AGGR_HTTP_HITS,
229 PERF_PROTOSTAT_AGGR_HTTP_ERRORS,
230 PERF_PROTOSTAT_AGGR_HTTP_KBYTES_IN,
231 PERF_PROTOSTAT_AGGR_HTTP_KBYTES_OUT,
232 PERF_PROTOSTAT_AGGR_ICP_S,
233 PERF_PROTOSTAT_AGGR_ICP_R,
234 PERF_PROTOSTAT_AGGR_ICP_SKB,
235 PERF_PROTOSTAT_AGGR_ICP_RKB,
236 PERF_PROTOSTAT_AGGR_REQ,
237 PERF_PROTOSTAT_AGGR_ERRORS,
238 PERF_PROTOSTAT_AGGR_KBYTES_IN,
239 PERF_PROTOSTAT_AGGR_KBYTES_OUT,
240 PERF_PROTOSTAT_AGGR_CURSWAP,
241 PERF_PROTOSTAT_AGGR_CLIENTS,
242 PERF_PROTOSTAT_AGGR_END
243 };
244
245 enum {
246 PERF_MEDIAN_START,
247 PERF_MEDIAN_TIME,
248 PERF_MEDIAN_HTTP_ALL,
249 PERF_MEDIAN_HTTP_MISS,
250 PERF_MEDIAN_HTTP_NM,
251 PERF_MEDIAN_HTTP_HIT,
252 PERF_MEDIAN_ICP_QUERY,
253 PERF_MEDIAN_ICP_REPLY,
254 PERF_MEDIAN_DNS,
255 PERF_MEDIAN_RHR,
256 PERF_MEDIAN_BHR,
257 PERF_MEDIAN_HTTP_NH,
258 PERF_MEDIAN_END
259 };
260
261 #endif /* SQUID_SNMP */
262
263 #endif /* SQUID_CACHE_SNMP_H */