Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Definition of SNMP Gauge32 vs Counter32

Tags:

snmp

mib

Can someone point me to a good definition of Gauge32 vs Counter32? I understand that Counter32 can wrap, but Gauge32 can't.

I'm trying to understand their semantics. For example, I've heard you should take the difference between two Counter32 readings to get a value/second. Is there something like that for a Gauge32 value?

Thanks for any insight.

like image 697
DougN Avatar asked Apr 27 '10 02:04

DougN


People also ask

What is Gauge32 in SNMP?

Gauge32 represents a non-negative integer, which holds at the maximum or minimum value specified in the range when the actual value goes over or below the range, respectively. method creates a new SnmpVar object with the specified type and value. String value = "4200067295"; SnmpVar snmpvar = SnmpVar.

What is mean by Counter64?

Counter64. Each of the numeric data type classes stores internally the specific value type it represents. This value is accessible from outside the class using Value property. Additionally, each numeric value class has an implicit conversion defined to the c# value type it stores.


2 Answers

The best definition of these (i.e. the definition) is in the sections of the RFC that defines them: RFC 2578.

As the RFC says, a Counter32 has no defined initial value, so a single reading of Counter32 has no information content. This is why you have to take two (or more) readings to make sense of it. An example of this would be the number of packets received on an ethernet interface. If you take a reading and get back 4 million packets, you haven't learned anything: the wire could have been pulled out of the interface for the past year, or it could be passing millions of packets per second. You have to take multiple readings to know anything.

A Gauge32 on the other hand, measures some quantity at a moment in time and may go up or down. You can't necessarily make meaningful observations about two (or more) readings over time. An example of this is free disk space. You can fetch the value now, and an hour from now, and find that the change is zero -- but you can't draw the conclusion that nothing has been written to disk over the course of the hour. It's possible that the disk is getting hammered with constant additions and deletions that do not result in a net change in free space.

like image 91
bstpierre Avatar answered Sep 17 '22 16:09

bstpierre


They both can represent a value up to 2^32.

The difference lies that once a they reach 2^32 a counter starts again from 0 and represents the value (N+2^32)+X as X whereas a gauge doesn't wrap.

Counters are also called rollover counters. They are typically used to count the number of packets or octets sent or received. After a rollover counter has wrapped around several times ,it is difficult for management system to know whether the counter value value of X means that the quantity observed is X or (N+2^32)+X where N is no of rollovers.So the system needs to periodically poll the object to keep tracks of wraparounds.

Gauge on the other hand are used to measure the current value of some entity such as current number of packets stored in a queue.A gauge can be used to store the difference in value of some entity from the start to the end of a time interval. This enables gauge to used to monitor the rate of change of value of entity.

like image 23
ashish2199 Avatar answered Sep 20 '22 16:09

ashish2199