<div dir="ltr">Hi Erica,<div><br></div><div>Thank you very much for your answer. </div><div>Can you please tell what is the added value of ftrace (compared to using only lttng) ?</div><div><br></div><div>Best regards, </div><div>Zvika </div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 2, 2024 at 5:11 PM Erica Bugden <<a href="mailto:ebugden@efficios.com">ebugden@efficios.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Zvika,<br>
<br>
On 2024-03-29 01:09, Zvi Vered via lttng-dev wrote:<br>
> Hi Christopher,<br>
> <br>
> Thank you very much for your reply.<br>
> Can you please explain what do you mean by ftrace-enabled kernel ?<br>
<br>
I believe what Christopher means by "ftrace-enabled" kernel is that the <br>
Linux kernel has been configured to include ftrace. Both the ftrace <br>
tracer and the LTTng tracer use the same kernel tracepoints to extract <br>
execution information and these tracepoints are included in the kernel <br>
if ftrace is included.<br>
<br>
Most Linux distributions will include ftrace by default. However, you <br>
can check whether this is the case by searching for `tracefs` in <br>
`/proc/filesystems` (assuming it's already mounted) or by trying to <br>
mount `tracefs`. `tracefs` is the filesystem ftrace uses to communicate <br>
with users.<br>
<br>
More details about how to check if ftrace is enabled and how to enable <br>
it if not: <br>
<a href="https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ftrace" rel="noreferrer" target="_blank">https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ftrace</a><br>
<br>
The "More Information" section points to the primary sources (Linux <br>
kernel documentation), but I find this page to be a good starting point.<br>
<br>
Best,<br>
Erica<br>
<br>
> <br>
> Best regards,<br>
> Zvika<br>
> <br>
> On Wed, Mar 27, 2024 at 7:32 PM Christopher Harvey via lttng-dev <br>
> <<a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a> <mailto:<a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a>>> wrote:<br>
> <br>
>     you can use an ftrace-enabled kernel with lttng (maybe even just<br>
>     tracecompass) or perfetto to get that kind of trace<br>
> <br>
>     <a href="https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.ftrace.doc.user/User-Guide.html" rel="noreferrer" target="_blank">https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.ftrace.doc.user/User-Guide.html</a> <<a href="https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.ftrace.doc.user/User-Guide.html" rel="noreferrer" target="_blank">https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.ftrace.doc.user/User-Guide.html</a>><br>
> <br>
>     or<br>
> <br>
>     <a href="https://ui.perfetto.dev/" rel="noreferrer" target="_blank">https://ui.perfetto.dev/</a> <<a href="https://ui.perfetto.dev/" rel="noreferrer" target="_blank">https://ui.perfetto.dev/</a>><br>
> <br>
>     On Wed, Mar 27, 2024, at 5:26 AM, Zvi Vered via lttng-dev wrote:<br>
>      > Hello,<br>
>      ><br>
>      > I have an application with 4 threads.<br>
>      > I'm required to display on the graph when thread starts working<br>
>     till it<br>
>      > blocks for the next semaphore.<br>
>      ><br>
>      > But without using the lttng userspace library.<br>
>      ><br>
>      > Is it possible ?<br>
>      ><br>
>      > Thank you,<br>
>      > Zvika<br>
>      > _______________________________________________<br>
>      > lttng-dev mailing list<br>
>      > <a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a> <mailto:<a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a>><br>
>      > <a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
>     <<a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a>><br>
>     _______________________________________________<br>
>     lttng-dev mailing list<br>
>     <a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a> <mailto:<a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a>><br>
>     <a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
>     <<a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a>><br>
> <br>
> <br>
> _______________________________________________<br>
> lttng-dev mailing list<br>
> <a href="mailto:lttng-dev@lists.lttng.org" target="_blank">lttng-dev@lists.lttng.org</a><br>
> <a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev" rel="noreferrer" target="_blank">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
</blockquote></div>