Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: francis.giraldeau@gmail.com (Francis Giraldeau)
Subject: [lttng-dev] Some questions about Lttng
Date: Tue, 19 Jun 2012 11:28:01 +0200	[thread overview]
Message-ID: <4FE04621.3070806@gmail.com> (raw)
In-Reply-To: <6539770C71C3814BB0BFC2DBEBD105087948C2@CORPUSMX30B.corp.emc.com>

Le 2012-06-19 05:50, Zheng.Chang at emc.com a ?crit :
>
> Hi folks,
>
>  
>
> I'm studying how to use Lttng now. I built a kernel which version is
> 2.6.38 and ran with lttng 2.0.
>
> I got some confused when I started to use it. Here are my questions:
>
>  
>
> 1. I didn't see kernel patches for kernel 3.x. Does it mean kernel 3.x
> support it already?
>

You don't need a kernel patch with lttng 2.0, only modules are required.
It uses the tracepoints already present in the kernel, and trace system
calls, and uses perf performance counters and kprobes.

> 2. I tried to do something like, dump the arguments of system call, or
> dump a backtrace in a specified function. But the output of lttng is
> very limited. Is there a way to do that with lttng?
>

If system calls are enabled, arguments are supposed to be dumped (option
--syscall to lttng enable-event). If it's not the case, then are you
sure you are using lttng 2.0 and not 0.12? ;) Because the older version
has a different behavior. One additional note: few system calls do not
have all their arguments decoded in lttng 2, but there are only a few.

> 3. I looked into some UST examples and found here are three header
> files:  tracepoint.h, tracepoint-event.h and ust-tracepoint-event.h.
> They have some duplicated macro definitions like TRACEPOINT_EVENT.
>

The macros are quite complicated. Some includes files are included more
than once to generate various portion of the tracepoint code. So, my
advice here is to take a working example and adapt it to your needs.

> And the examples includes all of these three header files despite no
> conflict here. Could someone help to explain the intention?
>
> 4. Once I defined a tracepoint in my code, seems some initializations
> would register default probe into the hook point.  How to disable the
> default probe and  register my self-defined probes?
>

You mean, call a custom function when tracepoint is executed? Maybe
somebody else has an answer, but AFAIK this is not possible. But you
could make a wrapper to your tracepoint and then call your additional
function there.

> 5. Does lttng-ust support dynamic traceing like kprobe?
>

AFAIK, the kernel tracer supports kprobe, but not UST. Maybe somebody
else can confirm/infirm the dynamic tracepoint feature in user-space?

You can use a feature of GCC to regiter callback on function entry and
exit, but since it executes for all functions, then the overhead is very
high. You can have a look here:

https://github.com/giraldeau/workload-kit/blob/master/ust/cyg.c

Cheers,

Francis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20120619/c057e70c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4476 bytes
Desc: Signature cryptographique S/MIME
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20120619/c057e70c/attachment-0001.bin>


  reply	other threads:[~2012-06-19  9:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19  3:50 Zheng.Chang
2012-06-19  9:28 ` Francis Giraldeau [this message]
2012-06-19 16:36   ` Mathieu Desnoyers
2012-06-20  5:30     ` Zheng.Chang
2012-06-20 13:03       ` Mathieu Desnoyers
2012-06-21  4:59         ` Zheng.Chang
2012-06-21 12:45           ` Mathieu Desnoyers
2012-06-25  7:32             ` changz
2012-06-26  6:06               ` Mathieu Desnoyers
2012-06-26  8:59                 ` changz

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=4FE04621.3070806@gmail.com \
    --to=francis.giraldeau@gmail.com \
    /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