Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: david.goulet@polymtl.ca (David Goulet)
Subject: [ltt-dev] UST communication library
Date: Wed, 15 Jun 2011 10:57:29 -0400	[thread overview]
Message-ID: <4DF8C859.40904@polymtl.ca> (raw)
In-Reply-To: <4DF841C5.6070508@polymtl.ca>

On 11-06-15 01:23 AM, Alexandre Montplaisir wrote:
> Hi David,
> 
> 
> Sorry if I missed it, but what is the ultimate goal with lttng-tools? Is it to
> 
> A) Become the unified trace controller for LTTng (kernel) and UST (userspace)
> tracers.
> or
> B) Become a generic trace controller which people could "plug" their tracers
> into, and which would come with initial support for LTTng and UST.
> 
> If it's A) and only A), I'd say yank the separate "libust" and merge it into
> lttng-tools' tree. This is what happened with "lttctl", which is now statically
> built in lttng-tools, right?
> 
> However modularity is never bad, perhaps going with an architecture like B) is
> better long-term.
> 
> Some suggestions:
> 
> 
>> So the problem is where this lib should go? Here are the possibilities I've
>> discussed with Mathieu:
>>
>> 1) Keep libustcomm in UST and linking it in lttng-tools. Cons : direct
>> dependency! ... not good
> 
> 1b) Have an *optional* dependency on UST. At configure time, lttng-tools could
> check if libust is present, if so compile it with UST support. If not, only
> compile with kernel support. ("Warning, libust not found, UST support will not
> be available", something like that)

This is problematic for packaging...

> 
>> 2) Move libustcomm in lttng-tools and linking it with UST. Cons: direct
>> dependency! ... not good
> 
> Indeed, the dependency would now be two-ways, might as well use 6) at this point.
> 
>> 3) Keep libustcomm in UST and dlopen() functions in lttng-tools. For that, we
>> will need an exported header that contains the symbols. So again... getting some
>> sort of dependency! (header in UST or git tree)... not good
> 
> Similar to 1), but you still have a compile-time dependency.
> 
>> 4) Copy&  Paste technique into both trees. REALLY NOT GOOD!
> 
> *cough* sdt.h *cough*  ;)
> 
>> 5) Making it a standalone library. So, new git tree, new package and getting it
>> dependent on lttng-tools and UST.
>>
> 
> I'm not sure I get this one. Is there a point for an application to use
> libustcomm standalone, without the rest of libust? If not then they should be
> kept together, no?

Yep there is, to control the UST tracer. We want lttng-tools to be the one and
only tool for that but see this libustcomm as "an external module" to control
the ust tracer that lttng-tools uses.

> 
> 
> And I'd add 6), as mentioned before:
> 
> 6) Drop the separate ust/libust package and merge it with lttng-tools.
>

I'm not to comfortable with that. The thing is that we want to keep libust and
lttng-tools separate because it is not impossible to use ust *without*
lttng-tools thus libustcomm becoming a separate entity. However, for an INSANE
amount of features, use lttng-tools :).

Thanks Alex for this precious feedback!
David

> 
> In my humble semi-outsider opinion, if you want goal A) I'd say go with 6), if
> you want goal B) go with 1b)
> 
> 
> Cheers,
> 




  parent reply	other threads:[~2011-06-15 14:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-14 21:26 David Goulet
2011-06-15  5:23 ` Alexandre Montplaisir
2011-06-15  8:09   ` Nils Carlson
2011-06-15 14:57   ` David Goulet [this message]
2011-06-15 15:01     ` Yannick Brosseau
2011-06-15 15:16       ` David Goulet
2011-06-15 15:21         ` Yannick Brosseau
2011-06-15 15:24           ` David Goulet
2011-06-15 15:26             ` Yannick Brosseau
2011-06-15 15:41               ` Mathieu Desnoyers
2011-06-15 18:51         ` Alexandre Montplaisir
2011-06-15 15:06 ` Yannick Brosseau
2011-06-15 15:13   ` David Goulet
2011-06-15 15:16     ` Yannick Brosseau
2011-06-15 15:32     ` Mathieu Desnoyers
     [not found]     ` <BLU0-SMTP5372DAF7E219ACFC9DE44C966B0@phx.gbl>
2011-06-15 15:55       ` Yannick Brosseau
2011-06-15 17:16         ` Mathieu Desnoyers
2011-06-15 19:11           ` Alexandre Montplaisir

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DF8C859.40904@polymtl.ca \
    --to=david.goulet@polymtl.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox