From: Norbert Lange via lttng-dev <email@example.com> To: Mathieu Desnoyers <firstname.lastname@example.org> Cc: lttng-dev <email@example.com> Subject: Re: [lttng-dev] [PATCH lttng-ust] Improve tracelog handling, reduce exported functions Date: Thu, 20 May 2021 19:43:06 +0200 [thread overview] Message-ID: <CADYdroM_7LVxoe6rQxZvgSqW_97pFd3t2i37NSvuGOmG0H2Lzw@mail.gmail.com> (raw) In-Reply-To: <154847626.52635.1621531127222.JavaMail.firstname.lastname@example.org> Am Do., 20. Mai 2021 um 19:18 Uhr schrieb Mathieu Desnoyers <email@example.com>: > > > > ----- On May 20, 2021, at 12:51 PM, Norbert Lange firstname.lastname@example.org wrote: > > > Am Do., 20. Mai 2021 um 18:25 Uhr schrieb Mathieu Desnoyers > > <email@example.com>: > >> > >> ----- On May 20, 2021, at 11:54 AM, Norbert Lange firstname.lastname@example.org wrote: > >> [...] > >> > >> >> What prevents you from linking against lttng-ust.so again ? > >> > > >> > I did not poke around enough with Lttng to be confident it wont have > >> > side effects, > >> > I really don't want it active in production. It doesn't seem there is > >> > much public knowledge with Xenomai either. > >> > lttng-ust.so will spawn threads, lttng-ust-tracepoint.so is mostly passive, > >> > >> There is indeed a split between instrumentation and runtime threads done > >> with lttng-ust-tracepoint.so vs lttng-ust.so. > >> > >> I understand that this split is missing for tracelog and tracef, and > >> would be a good thing to have. > >> > >> I would be interested to move the tracelog and tracef implementation > >> from liblttng-ust.so to liblttng-ust-tracepoint.so, even this late > >> in the -rc cycle, because all users of tracelog/tracef need to link > >> against liblttng-ust-tracepoint.so anyway. So moving these symbols > >> should not affect anyone. > >> > >> Can you give it a try and let me know if it works for you ? > > > > Will take some time, whats the timeframe you need for feedback? > > Here is the tentative commit: > > https://review.lttng.org/c/lttng-ust/+/5927 Move tracef/tracelog symbols to liblttng-ust-tracepoint.so Well... this is certainly an improvement. I am not completely happy though: "... users now link against liblttng-ust-tracepoint.so explicitly" My homecooked solution currently works like this: *) define the probes from <lttng/lttng-ust-tracelog.h> with TRACEPOINT_PROBE_DYNAMIC_LINKAGE, link them in the application, together with other dynamic probes *) build a separate library with *other* tracepoints, lets call it libtracepoint.so *) don't link the application to any lttng library. Which means: 1) the application works without lttng libraries. tracepoints are no-ops 2) if available then liblttng-ust-tracepoint.so is loaded (constructor function from your headers). tracepoints are no-ops 3) if the application dlopen's libtracepoint.so and in turn liblttng-ust.so then tracepoints work. I'd lose option 1 compared to reimplementing tracelog using homecooked lttng-ust-tracelog tracepoints. So, are there any issues using <lttng/lttng-ust-tracelog.h> that way, it seems to work fine, are there mutliple competing instances now? (I am not re-using any bit from tracelog.h, I am just after using the tracepoint definition). I mean I could dlsym all the functions, but tracelog has 1 per loglevel and really ugly long names ;) Norbert _______________________________________________ lttng-dev mailing list email@example.com https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
next prev parent reply other threads:[~2021-05-20 17:43 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-20 12:18 Norbert Lange via lttng-dev 2021-05-20 12:18 ` [lttng-dev] [PATCH lttng-ust] Improve tracef/tracelog to use the stack for small strings Norbert Lange via lttng-dev 2021-05-20 14:19 ` [lttng-dev] [PATCH lttng-ust] Improve tracelog handling, reduce exported functions Mathieu Desnoyers via lttng-dev 2021-05-20 14:57 ` Norbert Lange via lttng-dev 2021-05-20 15:21 ` Mathieu Desnoyers via lttng-dev 2021-05-20 15:54 ` Norbert Lange via lttng-dev 2021-05-20 16:25 ` Mathieu Desnoyers via lttng-dev 2021-05-20 16:51 ` Norbert Lange via lttng-dev 2021-05-20 17:18 ` Mathieu Desnoyers via lttng-dev 2021-05-20 17:43 ` Norbert Lange via lttng-dev [this message] 2021-05-21 14:55 ` Mathieu Desnoyers via lttng-dev 2021-05-25 13:32 ` Norbert Lange via lttng-dev
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=CADYdroM_7LVxoe6rQxZvgSqW_97pFd3t2i37NSvuGOmG0H2Lzw@mail.gmail.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [lttng-dev] [PATCH lttng-ust] Improve tracelog handling, reduce exported functions' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).