问题标签 [babeltrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1164 浏览

linux - 如何使用 Babeltrace-log

我想将一个 txt 日志文件传输到通用跟踪格式 (CTF) 文件中。我发现lttng的Babeltrace工具可以在文本格式和CTF格式之间传输文件。但我不知道该怎么做。命令 babeltrace-log 可以将 txt 文件转成 CTF 文件,格式如下:

babeltrace-log [OPTIONS] 输出,只有 1 个选项 -t(timestamp)。 (http://manpages.ubuntu.com/manpages/precise/man1/babeltrace-log.1.html)

我不知道如何为 babeltrace 提供输入以传输文件。

你能帮我并给我一些提示吗?网上资料很少。

非常感谢,

艾洛瓦

0 投票
1 回答
1069 浏览

lttng - LTTng 和 Babeltrace python 绑定从未启用

我已经按照以下说明安装了 LTTng 和 Babeltrace

sudo apt-get install lttng-tools sudo apt-get install lttng-modules-dkms sudo apt-get install liblttng-ust-dev sudo apt-get install babeltrace

但是当我尝试导入 python 模块时,python 绑定永远不会起作用。

关于如何使用它的任何想法?

0 投票
1 回答
165 浏览

lttng - 我们如何让 babeltrace 在节点重启后存活并在重启后恢复

在 lttng 直播并通过 babeltrace 查看;当节点重新启动时,它会继续发送跟踪,但 babeltrace 已经关闭,因为流程已经结束。因此,在这个阶段,如果 babeltrace 手动重新启动,它会恢复其功能并正常工作。

但是我们如何才能让 babeltrace 在重启后存活并在重启后恢复呢?我们需要这个,因为我们对 babeltrace 输出进行后处理,并且测试在夜间运行。

0 投票
1 回答
105 浏览

babeltrace - babeltrace 格式“文本”未知

我正在尝试使用 babeltrace 库来读取跟踪文件。所以这里是流程: 1. babeltrace /var/log/some_trace > trc.txt 2. 我的程序在创建上下文后尝试添加跟踪:

  1. 编译运行程序给出这个错误:code [error] [Context] Format "text" unknown。代码

这个想法是我在多台机器上生成了跟踪 - 虽然我可以使用我的程序直接读取本地系统上的二进制跟踪文件,但对于其他系统,我使用 babeltrace 转换跟踪,然后一起处理所有这些跟踪。

我安装的包是这样的:babeltrace-devel-1.2.4-1.el7.x86_64

0 投票
1 回答
569 浏览

python - 如何使用 babeltrace-python api 打印完整的跟踪事件?

如何使用 babeltrace 的 python reader api 打印完整的跟踪?

使用下面我可以获得事件的字段,但是如何像 babeltrace 那样打印完整的跟踪。

并且使用事件字典,可以获取字段。但是如何使用 python reader 复制 babeltrace 输出?

示例 babeltrace 输出:

让我知道是否需要任何进一步的信息。

0 投票
1 回答
289 浏览

c++ - 使用 babeltrace API 计算流中的所有事件

我有一个LTTNg跟踪,我正在使用 babeltrace API 对其进行解析。所以我想知道是否可以在不迭代它们的情况下计算跟踪(或流)中的所有事件。我可以使用 public API 中的哪些功能来做到这一点?

0 投票
1 回答
1642 浏览

linux - 使用 Babeltrace 构建 Perf(用于 Perf 到 CTF 的转换)

我正在尝试使用 TraceCompass 来进一步调查我的系统跟踪。为此,您需要 CTF 格式,并且有两种可能的方式在 Linux 中获取它,afaik:

  1. 使用 LTTng 进行跟踪并从中使用 CTF 格式
  2. 使用“perf data convert”从 perf.data 创建 CTF 数据

我一直在尝试使用第二个选项,因为第一个选项需要安装跟踪点,而我从 perf 中得到的对我来说已经足够了。所以假设我有我的 perf.data 可用,应用

导致: 没有编译的版本支持。 从lwn挖掘在线资源,我发现没有babeltrace就无法进行此转换。为了安装 babeltrace,我尝试了以下方法:

第一个:

这并没有完全解决问题:没有编译版本支持。

第二个

我尝试从源代码构建 babeltrace。我事先挖掘并找到了它的所有依赖项:

然后试了,

这也导致了错误:没有编译版本支持。

所以,总而言之,现在我认为问题在于将 babeltrace 与 perf 联系起来。虽然我还不知道如何使用 babeltrace 支持编译 perf。我应该从内核模块(如下所示)构建所有内容,还是有一种解决方法来重新编译或调整我当前的性能并支持 babeltrace?

请注意 perf/core_ctf_convert 在这个内核模块中实现:git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git

另请注意,我在 Raspberry Pi 3 上使用 Raspbian Jessie。

提前感谢指导。

干杯,

参考:

https://lwn.net/Articles/634333/

http://tracingsummit.org/w/images/9/98/TracingSummit2014-Perf-CTF.pdf

https://patchwork.kernel.org/patch/5883821/

https://patchwork.kernel.org/patch/5858601/


编辑:已解决 好的,这很棘手。首先,所有的功劳都归于 kernel.org 的 jolsa,他的建议让我明白了这一点。

从源代码构建 libbabeltrace 后,执行以下操作:

安装了一些依赖项(有些可能不需要,这些是我为实现 Raspbian 可用的大多数跟踪功能而安装的。不幸的是 bfd 不可用,afaik)

然后,

安装完成后,使用 LD_LIBRARY_PATH 环境执行 perf。IE

在 perf.data 所在的目录中,假设新建的 perf 位于 /home/user/linux/tools/perf,则调用以下命令:

然后,可以将 CTF 导入 TraceCompass :)

追踪指南针

0 投票
1 回答
162 浏览

babeltrace - BabelTrace 作为库

我正在尝试使用 babeltrace 库来加载和读取 C 程序中的 CTF 跟踪。

从文档:

为了使用 libbabeltrace 读取跟踪,第一步是创建上下文结构并向其中添加跟踪。这是使用 bt_context_create() 和 bt_context_add_trace() 函数完成的。只要这个上下文结构被分配并且跟踪是有效的,这个跟踪就可以被库操作。

但是对于像这样的简单程序:

我收到以下错误消息:

[错误] [上下文] 格式“ctf”未知。

并且 ret = -1。

该跟踪是一个有效的 CTF 跟踪,我可以使用 babeltrace 程序读取它。请帮助我。

0 投票
1 回答
262 浏览

linux - lttng 中的时间戳错误

我正在尝试使用 lttng 来分析远程系统上的调度。但是,使用 babeltrace 将跟踪显示为文本格式表明所有记录的事件都具有相同的时间戳。因此,TraceCompass 中的可视化失败。

跟踪运行了几秒钟,大小为 912K。我使用以下命令在嵌入式 Linux 设备上启动跟踪,lttng-relayd用于将数据传输到我的主机系统进行分析:

如何修复时间戳?

0 投票
1 回答
312 浏览

python - 如何使用 babeltrace python 绑定从 lttng ctf 跟踪中获取 debug_info?

我正在使用 Babeltrace python3 绑定来读取包含 debug_info 的 lttng ust 跟踪。当我从 shell 运行 Babeltrace 时,我在输出中看到了 debug_info:

从 python 绑定中,我可以获取其他事件字段(cpu_id、ip、addr、call_site ...),但我在尝试访问 debug_info、bin 或 func 时遇到关键错误。

有没有办法从 Python 中获取这些字段?

我正在使用 Babeltrace 1.5.2