[collectd] Some thought about the vserver patch

Guillaume Pratte guillaume.pratte at revolutionlinux.com
Thu Oct 5 17:38:33 CEST 2006

Hello Sebastian,

Here are some thoughts about the vserver plugin patch.

First, for the task of associating vservers name to it's context number, 
we can avoid the dependancy on libvserver by reading the content of 
/var/run/vservers/ (in fact, this is how it is implemented in vsmon).

The directory contains files named after the name of the vserver (in 
vserver v2) or vservername.ctx (vserver v1). The content of the file is 
simply the context id (in vserver v2) or contains "S_CONTEXT=contextid" 
(in vserver v1).

We can make a cache of the content of this directory, but we should 
always check the modification time of the files each time collectd 
perform a cycle and load the information again if :
 - a new file is detected
 - a file is modified
(i.e. a "partial load" and not a full load of all the contents).

We could also invalidate the cache if a file is deleted, but it might 
not be necessary. It is important to note that the content of 
/var/run/vservers can be invalid if the system was not shutdown 
properly. This should not be an issue here because we get a valid 
running context id list from /proc/virtual/.

The only problem I have is I am not sure how to properly implement a 
cache in C. In python for example I would use a simple dictionnary, but 
in C it's a little bit more complex :-)

Does collectd implement any data structure that would do the job (like 
some kind of map or dictionary), or should I code it myself, or event 
import code from a compatible license?


Guillaume Pratte
Recherche et développement
Révolution Linux

Toutes les opinions et les prises de position exprimées dans ce courriel sont celles de son auteur et ne répresentent pas nécessairement celles de Révolution Linux.

Any views and opinions expressed in this email are solely those of the author and do not necessarily represent those of Revolution Linux.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.verplant.org/pipermail/collectd/attachments/20061005/a2262eaa/attachment.html

More information about the collectd mailing list