<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello Sebastian,<br>
<br>
Here are some thoughts about the vserver plugin patch.<br>
<br>
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). <br>
<br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
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).<br>
<br>
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 :<br>
&nbsp;- a new file is detected<br>
&nbsp;- a file is modified<br>
(i.e. a "partial load" and not a full load of all the contents).<br>
<br>
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/.<br>
<br>
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 :-)<br>
<br>
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?<br>
<br>
Thanks,<br>
<pre class="moz-signature" cols="72">-- 
Guillaume Pratte
Recherche et d&eacute;veloppement
R&eacute;volution Linux

Toutes les opinions et les prises de position exprim&eacute;es dans ce courriel sont celles de son auteur et ne r&eacute;presentent pas n&eacute;cessairement celles de R&eacute;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.



</pre>
</body>
</html>