
On Tue, Mar 21, 2017 at 12:50:39PM +0100, Peter Krempa wrote:
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.
I mentioned that since Thibaut knows about why we hide that, how to get the current perf events as well as how to add new ones (at least according to how I understood the message).