
On Tue, Mar 21, 2017 at 12:06:25 +0100, Martin Kletzander wrote:
On Mon, Mar 20, 2017 at 02:11:21PM +0100, Thibaut SAUTEREAU wrote:
Hello,
I cannot find a way to retrieve PIDs of QEMU instances from libvirt domains' IDs (I'm using libvirt C API). I recognize it sounds like a bad idea doing so (and I know PIDs are explicitly made not available, as I gathered from the source code and on your IRC channel) but I need that to use the perf_event_open syscall in order to gather statistics on my QEMU/KVM guests. I also know libvirt now supports some perf events but only a few and I need more. I could submit patches to add them and I will definitely consider that but in the meantime...
Looks like you are looking for: http://libvirt.org/formatdomain.html#elementsPerf and http://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetPerfEvents
What would be the best way to get those PIDs? I tried using the XML file but PID is hidden in there too. I took a look at QEMU Machine Protocol. Now I'm going to walk /proc and match on guests names but it is not that elegant. Any ideas?
Just to re-iterate. We hide it because users should not fiddle with the VMs behind our backs.
`ps aux | grep $UUID | grep -v grep` ??
This will obviously work, but we won't give you an elegant way since we don't want you to know the pid.