]> git.ipfire.org Git - thirdparty/squid.git/blame - include/cache_snmp.h
SourceFormat Enforcement
[thirdparty/squid.git] / include / cache_snmp.h
CommitLineData
5c193dec 1/*
bde978a6 2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
5c193dec
AJ
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
f13f02e9 9#ifndef SQUID_CACHE_SNMP_H
10#define SQUID_CACHE_SNMP_H
b5638623 11
0f658b5b 12#if SQUID_SNMP
d82d8654 13
9c0a2256 14typedef int64_t snint;
c6da280c 15
43d4303e 16#ifndef MIN
17#define MIN(a,b) (a<b?a:b)
18#endif
19
d60c11be 20#include "snmp.h"
d60c11be 21#include "snmp_api.h"
602d9612 22#include "snmp_impl.h"
d82d8654 23
d82d8654 24/* MIB definitions
85ee654a 25 * SQUID-MIB
eba4a24f 26 * .iso.org.dod.internet.private.enterprises.nlanr.squid
27 * 1 3 6 1 4 1 3495 1
d82d8654 28 *
85ee654a 29 * PROXY-MIB
eba4a24f 30 * .iso.org.dod.internet.experimental.nsfnet.proxy
31 * 1 3 6 1 3 25 17
d82d8654 32 */
33
85ee654a 34#define SQUIDMIB 1, 3, 6, 1, 4, 1, 3495, 1
35#define LEN_SQUIDMIB 8
b6a2f15e 36#define INSTANCE 0
37#define TIME_INDEX 1, 5, 60
38#define TIME_INDEX_LEN 3
ad82c599 39
d82d8654 40/* basic groups under .squid */
41
cc192b50 42#define SQ_SYS SQUIDMIB, 1 /* cacheSystem group { squid 1 } */
d60c11be 43#define LEN_SQ_SYS LEN_SQUIDMIB+1
cc192b50 44#define SQ_CONF SQUIDMIB, 2 /* cacheConfig group { squid 2 } */
d60c11be 45#define LEN_SQ_CONF LEN_SQUIDMIB+1
cc192b50 46#define SQ_PRF SQUIDMIB, 3 /* cachePerformance group { squid 3 } */
d60c11be 47#define LEN_SQ_PRF LEN_SQUIDMIB+1
cc192b50 48#define SQ_NET SQUIDMIB, 4 /* cacheNetwork group { squid 4 } */
d60c11be 49#define LEN_SQ_NET LEN_SQUIDMIB+1
cc192b50 50#define SQ_MESH SQUIDMIB, 5 /* cacheMesh group { squid 5 } */
81d0c856 51#define LEN_SQ_MESH LEN_SQUIDMIB+1
d82d8654 52
c5753707 53/**
cc192b50 54 * cacheSystem group { squid 1 }
eba4a24f 55 */
d82d8654 56enum {
c5753707
AJ
57 SYS_START = 0,
58 SYSVMSIZ = 1, /**< cacheSysVMsize */
59 SYSSTOR = 2, /**< cacheSysStorage */
60 SYS_UPTIME = 3, /**< cacheUptime */
d60c11be 61 SYS_END
d82d8654 62};
1b058963 63
b6a2f15e 64#define LEN_SYS LEN_SQ_SYS + 1
65#define LEN_SYS_INST LEN_SQ_SYS + 2
66
c5753707 67/**
cc192b50 68 * cacheConfig group { squid 2 }
eba4a24f 69 */
d82d8654 70enum {
c5753707
AJ
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 */
d60c11be 78 CONF_END
79};
80
b6a2f15e 81#define LEN_CONF LEN_SQ_CONF + 1
82#define LEN_CONF_INST LEN_SQ_CONF + 2
83
c5753707 84/**
cc192b50 85 * cacheStorageConfig group { cacheConfig 5 }
86 */
d60c11be 87enum {
c5753707
AJ
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 */
d60c11be 93 CONF_ST_END
94};
95
b6a2f15e 96#define LEN_CONF_ST LEN_CONF + 1
97#define LEN_CONF_ST_INST LEN_CONF + 2
98
c5dd4956 99/*
cc192b50 100 * Cache Performance Group {squid 3}
eba4a24f 101 */
81d0c856 102
d60c11be 103enum {
c5753707
AJ
104 PERF_START = 0,
105 PERF_SYS = 1, /* cacheSysPerf */
106 PERF_PROTO = 2, /* cacheProtoStats */
cc192b50 107 PERF_END
d60c11be 108};
109
cc192b50 110/* cacheSysPerf */
111enum {
c5753707
AJ
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 */
cc192b50 126 PERF_SYS_END
81d0c856 127};
128
cc192b50 129/* cacheProtoStats */
130enum {
131 PERF_PROTOSTAT_START,
c5753707
AJ
132 PERF_PROTOSTAT_AGGR = 1, /* cacheProtoAggregateStats */
133 PERF_PROTOSTAT_MEDIAN = 2, /* cacheMedianSvcTable */
cc192b50 134 PERF_PROTOSTAT_END
135};
136
137/* cacheProtoAggregateStats */
138enum {
c5753707
AJ
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 */
cc192b50 155 PERF_PROTOSTAT_AGGR_END
156};
157
c5753707 158/* cacheMedianSvcEntry */
cc192b50 159enum {
c5753707
AJ
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 */
cc192b50 172 PERF_MEDIAN_END
d82d8654 173};
174
c5dd4956 175/*
cc192b50 176 * cacheNetwork group { squid 4 }
eba4a24f 177 */
b6a2f15e 178enum {
c5753707
AJ
179 NET_START = 0,
180 NET_IP_CACHE = 1, /* cacheIpCache */
181 NET_FQDN_CACHE = 2, /* cacheFqdnCache */
182 NET_DNS_CACHE = 3, /* cacheDns */
b6a2f15e 183 NET_END
184};
185
cc192b50 186/* cacheIpCache */
d60c11be 187enum {
c5753707
AJ
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 */
85ee654a 197 IP_END
d60c11be 198};
199
cc192b50 200/* cacheFqdnCache */
d60c11be 201enum {
c5753707
AJ
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 */
85ee654a 210 FQDN_END
d60c11be 211};
212
cc192b50 213/* cacheDNS */
d60c11be 214enum {
c5753707
AJ
215 DNS_START = 0,
216 DNS_REQ = 1, /* cacheDnsRequests */
217 DNS_REP = 2, /* cacheDnsReplies */
218 DNS_SERVERS = 3, /* cacheDnsNumberServers */
85ee654a 219 DNS_END
d82d8654 220};
221
c5dd4956 222/*
cc192b50 223 * cacheMesh group { squid 5 }
eba4a24f 224 */
d60c11be 225
43d4303e 226enum {
c5753707
AJ
227 MESH_START = 0,
228 MESH_PTBL = 1, /* cachePeerTable */
229 MESH_CTBL = 2, /* cacheClientTable */
cc192b50 230 MESH_END
d60c11be 231};
232
263f9f5f 233/* CachePeerTableEntry (version 3) */
c5dd4956 234enum {
c5753707
AJ
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 */
cc192b50 251 MESH_PTBL_END
d60c11be 252};
253
cc192b50 254/* cacheClientEntry */
c5dd4956 255enum {
c5753707
AJ
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 */
cc192b50 267 MESH_CTBL_END
d60c11be 268};
269
b5638623 270#endif /* SQUID_SNMP */
271
f13f02e9 272#endif /* SQUID_CACHE_SNMP_H */
f53969cc 273