Hi,
I've pushed my initial pmdaroot work upstream to my branch
( git://git.pcp.io/lberk/pcp pmdaroot ).
With this patch, when available, pmdaroot will start pmdas on behalf of
pmcd. ie;
% pstree -p 15419
pmcd(15419)âââpmdaroot(15422)âââpmdalinux(15426)
â ââpmdaproc(15423)
â ââpmdasample(15425)
â ââpmdasimple(21138)
â ââpmdaxfs(15424)
ââ{pmcd}(15421)
There are still a few issues in the testsuite, however I'm down to 25
failures out of 773.
A few more TODO's I have (other than ensuring qa runs without failure)
Improving pmcd shutdown, there are a couple of spots in the pmda cleanup
code where I have special cases for pmdaroot, I'd like to figure out if
there is a better way to do this. When pmdaroot is shutdown before any
of the other pmdas, they get re-parented to PID 1, which causes pmcd to
wait the full timeout duration on shutdown.
More error checking is needed in some of the pdu send functions.
In order to avoid sending char**'s via the socket, I passed the pmda's
commandlinestr argument, then converting it back to a char** manually
for the exec function. I'm aware this is hairy, needs to be improved.
Any other comments and constructive criticism is highly welcomed! (I'm
sure there's lots :) )
Cheers,
Lukas
|