formatNumber performance

Andreas Hartmetz ahartmetz at gmail.com
Thu Dec 21 23:38:59 GMT 2006


2006/5/16, Guillaume Laurent <glaurent at telegraph-road.org>:
> John Tapsell wrote:
> > I don't know.  KSysguard should probably support snmp.  I've never
> > played with it so i don't know sorry.  I don't know how much demand
> > there is for SNMP either.
> I haven't played with snmp either, but I know that it's the standard
> solution for network and remote machine monitoring, however it's
> overkill [...]
Well, I _have_ used SNMP and I would advise everyone to avoid it, if possible.

(Rant follows)

I had to work with it once and it was a PITA even though I was using a
python library to do most of the dirty work.
In the first version, username and password were the same ("community
string") and sent unencrypted over the wire. The more secure solution
introduced later was so complicated than nobody used it. A third
version is in use today which is still not very good although I don't
remember the details. For mysterious reasons, getting data in large
blocks did not work where I tried it so many, many slow network
roundtrips were required.
You also have to register SNMP-visible attributes in a hierarchical
naming system with names like 1.4.1.3.6.32.63.6.4[...] with arbitrary
depth. There are string translations for these numbers but they are
about as comprehensible as the numbers. In that naming system, if you
have n instances of attribute X, they are called X.1 to X.n. If you
don't know that a specific attribute is called X, X.0 to X.n could as
well be names of different types of attributes.
The rest of SNMP is equally bad, let's just say that ASN.1 that is
used in SNMP is something like EBNF with corresponding wire formats -
six possible wire formats in fact with two different XML formats
alone.
To fully "understand" SNMP (i.e., cut through the crap to get to the
trivial core), you'd need to read several long, boring RFCs describing
BER, DER, ASN.1, MIB structures... and all this to query some simple
data from (usually) a network appliance.
It goes without saying that the designers of SNMP generally chose the
most obscure names for everything they invented themselves, too.
Now you migh think that SNMP is sophisticated and "deep" but it isn't.
There is no automatic resending of lost datagrams, for example.
SNMP must be one of the worst IETF protocols ever. It's hilariously bad.




More information about the kde-core-devel mailing list