On Thu, Mar 24, 2016 at 09:02:08AM -0400, Luiz Capitulino wrote:
> On Thu, 24 Mar 2016 13:16:20 +0800
> Peter Xu <pet...@redhat.com> wrote:
> 
> > Hi, Steven,
> > 
> > On Fri, Mar 04, 2016 at 08:23:11AM -0500, Steven Rostedt wrote:
> > > My idea for a trace-cmd server, is to have a --client operation, for
> > > running on the guest.
> > > 
> > >  trace-cmd server --client <connection>
> > > 
> > > The connection will be some socket, either network or something
> > > directly attached to the host.
> > > 
> > > Then on the host, we can have
> > > 
> > >   trace-cmd server --connect <guest>
> > > 
> > > Where the server will create a connection to the guest.
> > > 
> > > And then, you could run on the host:
> > > 
> > >   trace-cmd record <host-events> --connect <guest> <guest-events>
> > > 
> > > And this will start recording host events, and then connect to the
> > > local server that connects to the guest(s) and that will start tracing
> > > on the guest as well.
> > > 
> > > Then events on the guest will be passed to the host server.
> > > 
> > > Something like this is my idea. We can work out the details on the best
> > > way to get things working. We may be able to eliminate the host server
> > > middle man. But I envision that we need a trace-cmd server running on
> > > the guest to start off the commands.
> > 
> > Not sure whether fully I understand the above, it seems that we can
> > remove the host server middle man (as you have mentioned). Moreover,
> > I am not sure whether we can use this for multiple hosts as well,
> 
> Honest question, what's the multiple hosts use-case?
> 
> I would start by thinking about the most simple use-case: a host
> and a guest with a single vCPU. Then add vCPUs, and then add multiple
> guests.

For multiple host use case: maybe some direct communication between
two/more host kernels? For example, I remembered that there are
kernel-level distributed file systems (like: Luster?) that protocol
talks directly via kernel level.

Anyway, this is only a very very unmature idea.  What I feel like is
that, there are lots of common things between "one guest and one
host tracing" and "two hosts tracing" when the guests are VMs, since
VM itself is some-kind-of host as well (maybe if we talks about
docker guest instances, things might differ, but here we mainly
talks about QEMU/KVM ones).  And, I do not mean to "do it all in
once". :) What I meant is more like "we'd better keep the interface
design in mind, in case we might need the multiple hosts tracing in
the future".

So, if we to do it, maybe we can just start with "host and guest"
ones, only keep the interface ready for "multiple hosts" ones.  If
we finally do not think we need the multiple hosts ones, we can just
skip it.

Anyway, I fully agree with you that, we should start from simple
ones. :)

Thanks.

-- peterx

Reply via email to