Wandering Thoughts archives

2007-10-22

The dangerous appeal of the obvious

For reasons that do not fit into the margins of this entry, DWiki sometimes needs to get the current Unix load average. I developed DWiki on Linux, and getting the load average on Linux is really easy; you read a line from /proc/loadavg, split it into three floating point numbers, and you're done. So I wrote a get_load function that did that and forgot about the whole thing.

Then this server got changed from Linux to FreeBSD, and suddenly that code didn't work any more. (Because I had been paranoid, it didn't fail explosively; I had assumed that someday system problems might cause things to fail and coped with it.)

FreeBSD doesn't have a /proc/loadavg; instead it has a getloadavg(3) function in the C library. I gloomily contemplated how to make a C library call from Python, and on the off chance someone had already written an extension module to do it I did a Google search on [python getloadavg].

Which promptly turned up the general and supported Python function to do just this, os.getloadavg(). This not only solved my problem but would have saved me the effort of writing my get_load function in the first place, if only I had thought to look for it instead of leaping on the obvious way of getting the load average on Linux that I already knew about.

This is the dangerous appeal of the obvious: just because I know how to do something doesn't mean that I know the best way to do something. Maybe I should keep looking slightly harder, just to make sure.

(You could say my issue with rounding up was the same effect in action, although it was less obvious to me then.)

DangerousObviousAppeal written at 21:42:03; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.