diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-19 19:47:20 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-19 19:47:20 +0200 |
commit | b3759f3dd958e453dfa3a12e6ab3cb3a48430cc2 (patch) | |
tree | 451a85042d17750716ace41830edbec5a8af5643 | |
parent | ea3cf7a61094789123c30d8ff5edfd0e43b4fe38 (diff) | |
download | varnish-mib-b3759f3dd958e453dfa3a12e6ab3cb3a48430cc2.tar.gz varnish-mib-b3759f3dd958e453dfa3a12e6ab3cb3a48430cc2.tar.bz2 |
Use 64-bit counters
* src/Makefile.am (varnish_mib.c): Depend on VARNISH-MIB.txt
* src/VARNISH-MIB.txt: Change all counters to 64 bit
Fix time-stamp-format variable.
* src/varnish_mib.mib2c: Handle ASN_COUNTER64
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/VARNISH-MIB.txt | 46 | ||||
-rw-r--r-- | src/varnish_mib.mib2c | 11 |
3 files changed, 35 insertions, 24 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 439cdb3..a0e7e72 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,13 +26,13 @@ varnish_mib_la_SOURCES = \ varnish_mib.h\ vcli.c BUILT_SOURCES = \ varnish_mib.c -varnish_mib.c: varnish_mib.mib2c +varnish_mib.c: varnish_mib.mib2c VARNISH-MIB.txt .mib2c.c: MIBDIRS=${top_srcdir}/src:${NET_SNMP_MIBDIRS} MIBS="+VARNISH-MIB" \ mib2c -c $< -f $@ varnish #NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags` diff --git a/src/VARNISH-MIB.txt b/src/VARNISH-MIB.txt index b632924..4732745 100644 --- a/src/VARNISH-MIB.txt +++ b/src/VARNISH-MIB.txt @@ -6,67 +6,67 @@ VARNISH-MIB DEFINITIONS ::= BEGIN -- Varnish reverse proxy MIB -- by Shared Autonomous sYstems -- -- ************************************************************* IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter32 + MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter64 FROM SNMPv2-SMI OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF; varnishMIB MODULE-IDENTITY - LAST-UPDATED "201411191038Z" + LAST-UPDATED "201411191934Z" ORGANIZATION "Shared Autonomous sYstems" CONTACT-INFO "mhe@say.no" DESCRIPTION "This MIB module defines objects for Varnish reverse web proxy." - REVISION "201411191038Z" + REVISION "201411191934Z" DESCRIPTION "Initial version." ::= { varnish 0 } varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 } client OBJECT IDENTIFIER ::= { varnish 1 } backend OBJECT IDENTIFIER ::= { varnish 2 } total OBJECT IDENTIFIER ::= { varnish 3 } clientAcceptedConnections OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Client connections accepted" ::= { client 1 } clientRequestsReceived OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Client requests received" ::= { client 2 } clientCacheHits OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Cache hits" ::= { client 3 } clientCacheHitsPass OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Cache hits for pass" ::= { client 4 } clientCacheMisses OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Cache misses" ::= { client 5 } @@ -79,117 +79,117 @@ clientBan OBJECT-TYPE argument to ban. When read, returns an empty string." ::= { client 6 } connections OBJECT IDENTIFIER ::= { backend 1 } backendConnSuccess OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections success" ::= { connections 1 } backendConnNotAttempted OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections not attempted" ::= { connections 2 } backendConnToMany OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections too many" ::= { connections 3 } backendConnFailures OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections failures" ::= { connections 4 } backendConnReuses OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections reuses" ::= { connections 5 } backendConnRecycled OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections recycles" ::= { connections 6 } backendConnUnused OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Backend connections unused" ::= { connections 7 } totalSessions OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total Sessions" ::= { total 1 } totalRequests OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total Requests" ::= { total 2 } totalPipe OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total pipe" ::= { total 3 } totalPass OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total pass" ::= { total 4 } totalFetch OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total fetch" ::= { total 5 } totalHeaderBytes OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total header bytes" ::= { total 6 } totalBodyBytes OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total body bytes" ::= { total 7 } @@ -247,10 +247,10 @@ varnishStandardComplianceV1 MODULE-COMPLIANCE END -- Local variables: -- eval: (add-hook 'write-file-hooks 'time-stamp) -- time-stamp-start: "\\(LAST-UPDATED\\|REVISION\\) *\"" -- time-stamp-end: "\"" --- time-stamp-format: "%:y%:m%:d%:H%:MZ" +-- time-stamp-format: "%:y%02m%02d%02H%02MZ" -- time-stamp-line-limit: 25 -- time-stamp-count: 2 -- end: diff --git a/src/varnish_mib.mib2c b/src/varnish_mib.mib2c index 6be8cd7..1bb91ce 100644 --- a/src/varnish_mib.mib2c +++ b/src/varnish_mib.mib2c @@ -128,17 +128,28 @@ handle_$i(netsnmp_mib_handler *handler, switch(reqinfo->mode) { case MODE_GET: @if $varnish_type eq 'MAIN'@ { struct VSC_C_main const *st = VSC_Main(vd, NULL); + @if $i.type eq 'ASN_COUNTER64'@ + struct counter64 ctr; + if (!st) + return SNMP_ERR_NOSUCHNAME; + ctr.high = st->$varnish_member >> 32; + ctr.low = st->$varnish_member & 0xffffffff; + snmp_set_var_typed_value(requests->requestvb, $i.type, + &ctr, + sizeof(ctr)); + @else@ if (!st) return SNMP_ERR_NOSUCHNAME; snmp_set_var_typed_value(requests->requestvb, $i.type, &st->$varnish_member, sizeof(st->$varnish_member)); + @end@ } @elsif $varnish_type eq 'STRING'@ { const char *s = "$varnish_member"; snmp_set_var_typed_value(requests->requestvb, $i.type, s, strlen(s)); |