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,
>
next prev 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