我可以在Trace Compass中一起查看LTTng跟踪的Userspace事件和内核事件吗?

问题描述 投票:0回答:1

我正在使用LTTng跟踪内核事件和用户空间跟踪点。我想在一个“ Trace Compass”窗口中将它们一起可视化。但是,LTTng将内核事件和用户空间事件保存在单独的跟踪文件中,这使我无法在Trace Compass中一起查看它们。

这里有人知道如何:

((1)将两种事件都保存在一个文件中?,或

((2)使用Trace Compass合并来自2个跟踪文件的信息?


详细信息:

我正在使用LTTng跟踪两种事件:

((1)内核sched_switch事件(当调度程序导致上下文切换时)

((2)用户空间自定义跟踪点(我将它们命名为setMarkerTracepoint,并从我的C ++程序中发布)]

我使用以下命令来设置跟踪会话并开始跟踪

# trace data is saved at TRACE_DIR
TRACE_DIR=/home/root/lttng-traces
lttng-sessiond --daemonize
lttng create my-session --output=$TRACE_DIR
lttng enable-event --userspace tracepointProvider:setMarkerTracepoint
lttng enable-event --kernel sched_switch
lttng start

然后,我运行我的C ++应用程序并在应用程序结束后停止LTTng跟踪。

lttng destroy

现在,当我检查跟踪数据的保存位置时,发现有两个跟踪数据位置:

((1)/ home / root / lttng-traces / kernel /

(2)/ home / root / lttng-traces / ust /

我使用Trace Compass可视化跟踪。内核目录下的文件具有所有sched_switch事件,但没有setMarkerTracepoint事件。 ust目录下的文件反之亦然。

Trace with kernel events but doesn't have userspace tracepoints

Trace with userspace tracepoint but doesn't have kernel events

我想在同一Trace Compass窗口中的C ++代码中同时查看sched_switch事件和我的跟踪点。

[Trace Compass's user guideLTTng Documentation并未讨论同时使用内核跟踪和用户空间跟踪。

[我认为应该可以这样做,因为如果我在安装了babeltrace的情况下使用lttng-view命令,则可以看到lttng-view打印的信息中列出了两种事件。

任何帮助将不胜感激! :)

linux embedded-linux trace lttng
1个回答
0
投票

在tracecompass中,通过“实验”完成多种迹线或多种迹线的组合。

您可以遵循此文档部分:Creating an Experiment

© www.soinside.com 2019 - 2024. All rights reserved.