问题标签 [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.
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 提供输入以传输文件。
你能帮我并给我一些提示吗?网上资料很少。
非常感谢,
艾洛瓦
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 绑定永远不会起作用。
关于如何使用它的任何想法?
lttng - 我们如何让 babeltrace 在节点重启后存活并在重启后恢复
在 lttng 直播并通过 babeltrace 查看;当节点重新启动时,它会继续发送跟踪,但 babeltrace 已经关闭,因为流程已经结束。因此,在这个阶段,如果 babeltrace 手动重新启动,它会恢复其功能并正常工作。
但是我们如何才能让 babeltrace 在重启后存活并在重启后恢复呢?我们需要这个,因为我们对 babeltrace 输出进行后处理,并且测试在夜间运行。
babeltrace - babeltrace 格式“文本”未知
我正在尝试使用 babeltrace 库来读取跟踪文件。所以这里是流程: 1. babeltrace /var/log/some_trace > trc.txt 2. 我的程序在创建上下文后尝试添加跟踪:
- 编译运行程序给出这个错误:code [error] [Context] Format "text" unknown。代码
这个想法是我在多台机器上生成了跟踪 - 虽然我可以使用我的程序直接读取本地系统上的二进制跟踪文件,但对于其他系统,我使用 babeltrace 转换跟踪,然后一起处理所有这些跟踪。
我安装的包是这样的:babeltrace-devel-1.2.4-1.el7.x86_64
python - 如何使用 babeltrace-python api 打印完整的跟踪事件?
如何使用 babeltrace 的 python reader api 打印完整的跟踪?
使用下面我可以获得事件的字段,但是如何像 babeltrace 那样打印完整的跟踪。
并且使用事件字典,可以获取字段。但是如何使用 python reader 复制 babeltrace 输出?
示例 babeltrace 输出:
让我知道是否需要任何进一步的信息。
c++ - 使用 babeltrace API 计算流中的所有事件
我有一个LTTNg
跟踪,我正在使用 babeltrace API 对其进行解析。所以我想知道是否可以在不迭代它们的情况下计算跟踪(或流)中的所有事件。我可以使用 public API 中的哪些功能来做到这一点?
linux - 使用 Babeltrace 构建 Perf(用于 Perf 到 CTF 的转换)
我正在尝试使用 TraceCompass 来进一步调查我的系统跟踪。为此,您需要 CTF 格式,并且有两种可能的方式在 Linux 中获取它,afaik:
- 使用 LTTng 进行跟踪并从中使用 CTF 格式
- 使用“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 :)
babeltrace - BabelTrace 作为库
我正在尝试使用 babeltrace 库来加载和读取 C 程序中的 CTF 跟踪。
从文档:
为了使用 libbabeltrace 读取跟踪,第一步是创建上下文结构并向其中添加跟踪。这是使用 bt_context_create() 和 bt_context_add_trace() 函数完成的。只要这个上下文结构被分配并且跟踪是有效的,这个跟踪就可以被库操作。
但是对于像这样的简单程序:
我收到以下错误消息:
[错误] [上下文] 格式“ctf”未知。
并且 ret = -1。
该跟踪是一个有效的 CTF 跟踪,我可以使用 babeltrace 程序读取它。请帮助我。
linux - lttng 中的时间戳错误
我正在尝试使用 lttng 来分析远程系统上的调度。但是,使用 babeltrace 将跟踪显示为文本格式表明所有记录的事件都具有相同的时间戳。因此,TraceCompass 中的可视化失败。
跟踪运行了几秒钟,大小为 912K。我使用以下命令在嵌入式 Linux 设备上启动跟踪,lttng-relayd
用于将数据传输到我的主机系统进行分析:
如何修复时间戳?
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