
Lttng
文章平均质量分 77
Lttng的文章比较多,单独收录。
小羊苏C
很懒,需要交流请直接在评论区。你的问题可能别人也会遇到。
展开
-
尝试使用LTTng+TraceCompass分析一下进程周期偏移
我先是在板子里通过LTTng Stream的方式将log保存在了上位机里。然后在上位机中打开TraceCompass分析log。原创 2022-12-19 19:48:28 · 1403 阅读 · 0 评论 -
LTTng在精简环境中部署的成功实践
无法追踪内核问题解决failed to load kmod library resourcesunable to list kernel events: kernel tracer not available。更改内核后,对应的内核模块大概率(基本上就是)要重新编译,特别是对于加Trace这种操作。不重新编译的话,遭遇到启动过程中脚本加载模块指向非法空地址之类的错误,启动失败。原创 2022-11-28 09:21:23 · 363 阅读 · 0 评论 -
How do I build and deploy LTTng to an embedded Linux system?
【代码】How do I build and deploy LTTng to an embedded Linux system?转载 2022-10-27 19:34:56 · 323 阅读 · 0 评论 -
LTTng中使用USDT
我记得之前找到个什么指令,可以查看很多当前板子里有的好像是probe的类型。但是当时我发现板子里只有kernel的没有userspace的然后就没继续了。现在苦苦寻找LTTng使用USDT的描述。在找过stackoverflow和github之后,发现描述在。现在我也就再次不深究了。搜索USDT即可找到。原创 2022-10-19 16:36:50 · 231 阅读 · 0 评论 -
【LTTng】lttng-gen-tp — Generate LTTng-UST tracepoint provider code
LTTNG_UST_TRACEPOINT_EVENT() 定义的编写方式与在 LTTng-UST 模板提供程序头文件中编写它们的方式相同。支持 C 注释(/* */ 和 //),以及以 # 开头的行。翻译 2022-09-14 15:26:40 · 253 阅读 · 0 评论 -
【LTTng】核心概念精读
代码运行到观测点的时候,产生事件、事件匹配规则。如果事件满足事件规则,则LTTng emit this event.原创 2022-09-09 16:54:13 · 977 阅读 · 0 评论 -
LTTng Live
注意,需要在建立session的时候加上“--live”,否则在reader(babeltrace)这边还是无法获取数据,会报错“not a live session”。这里的localhost,我觉得不是绝对的,如果你的Babeltrace和relay-deamon运行不在同一个环境下,这一步关注的应该是relay-deamon宿主机的IP,也就是上面写的“上位机IP”,也就是CTF数据要发给谁。实际使用下来看,live是“直播”,就是在运行Trace的同时,通过数据解析工具,按照一定时间间隔处理数据。原创 2022-09-08 18:59:17 · 235 阅读 · 0 评论 -
【LTTng】LTTng通过网络发送Trace数据
将Trace数据通过TCP发送走而不是保存在目标板上。原创 2022-09-07 16:43:13 · 776 阅读 · 0 评论 -
源码部署LTTng和需要添加的环境变量
README中提到,使用./scrtpt/build-in.sh来在内核menuconfig中添加LTTng的配置选项。建议的是kernel module随着内核编译安装,然后先装那5个依赖库,然后再ust, 最后tools。在部署的过程中,发现交叉编译可能会在CMAKE cache之类的地方添加绝对地址,这样可以在SDK编译和部署文件系统的时候一起编译和部署LTTng的内核模块。这是因为默认的编译库放在了/usr/local/lib下面。在编译LTTng module的时候。需要添加两个环境变量。原创 2022-09-07 12:01:00 · 296 阅读 · 0 评论 -
【LTTng】LTTNG 内核模块手册
涉及到需要支持的内核裁剪选项之类的信息。转载方便阅读。转载 2022-09-02 14:43:41 · 398 阅读 · 0 评论 -
[LTTng学习之旅]------开始之前
最近读了不少跟操作系统相关的资料。在deadline等多重压力下。终于要开始动手操作一下了。考虑到Linux下各种性能分析工具 种类实在是太多。又多又杂。而且大多数是命令行形式,可能不好实现可视化的展示,没法跟老板汇报。暂时选择LTTng作为trace工具应用的切入点。看了一下LTTng的网站做的还挺好看,虽然在知乎上有人对他颇有微词。但是我作为一个初心者还远远没有到指点江山的程度。欸,不知道这个系列会不会写下去啊。很多博客写着写着就变成了枯燥的文档翻译。很没意思。Welcome to原创 2022-05-14 10:08:52 · 353 阅读 · 0 评论 -
[LTTng学习之旅]------Trace控制--进阶
文章目录在记录event的时候添加上下文信息在记录event的时候添加上下文信息可以添加的信息举例:The process ID, thread ID, process name, and process priority of the thread from which LTTng emits the event.The hostname of the system on which LTTng emits the event.The Linux kernel and user call sta原创 2022-05-30 22:14:44 · 695 阅读 · 0 评论 -
[LTTng学习之旅]------在用户程序中简单的添加一个trace点
编写 trace provider在头文件中定义tracepoint event.#undef LTTNG_UST_TRACEPOINT_PROVIDER#define LTTNG_UST_TRACEPOINT_PROVIDER provider_my#undef LTTNG_UST_TRACEPOINT_INCLUDE#define LTTNG_UST_TRACEPOINT_INCLUDE "./my_lttng_usr.h"#if !defined(_MY_LTTNG_USR_H) ||原创 2022-05-26 13:54:35 · 732 阅读 · 5 评论 -
[LTTng学习之旅]------core concepts 拾遗
文档总是看了又忘,写点什么,也就算是为了忘却的纪念。。文章目录核心概念Instrumentation point, event rule, and eventInstrumentation point types核心概念From a user’s perspective, the LTTng system is built on a few concepts, or objects, on which the lttng command-line tool operates by sending co原创 2022-05-18 13:15:14 · 548 阅读 · 0 评论 -
[LTTng学习之旅]------Trace View初探
View and analyze the recorded eventsOnce you have completed theRecord Linux kernel eventsandRecord user application eventstutorials, you can inspect the recorded events.There are many tools you can use to read LTTng traces:Babeltrace2A rich, f...原创 2022-05-14 19:22:12 · 526 阅读 · 0 评论 -
[LTTng实操]------设计一套东西监控某周期运行用户程序的执行时间和周期----架构设计
我花几分钟 画了个很简陋的极不规范的架构图。使用的绘图工具是draw.io 网页版。如图可见,架构设计稳定性可拓展性极差。商用可能性基本没有。不过无所谓,毕竟是自己当作demo。用来练手。参加我之前的博文:链接: [LTTng学习之旅]------在用户程序中简单的添加一个trace点我的目的只是简单的提取时间戳。在trace log中,本身每一条log都是带有时间戳的。并且转换为了日历时间。所以需要思考一下有没有必要添加field。另外,如果直接提取时间戳可行的话,可以考虑使用或者来简化我的工作。原创 2022-06-08 14:33:51 · 355 阅读 · 0 评论 -
[LTTng实操]------编写Linux应用程序控制Trace过程
前略。因为编译要依赖LTTng的库,所以写几行makefile 避免重复敲命令行。启动 session daemon这个参考我之前发文章,有很多中方法添加在开机启动里。目前方便起见,直接手敲了。Note that some Linux distributions could manage the LTTng session daemon as a service. In this case, we suggest that you use the service manager to start, r原创 2022-06-12 21:25:19 · 596 阅读 · 0 评论 -
[LTTng学习之旅]------Components of LTTng 解构
LTTng是想干大事的,是想玩生态的。可惜十几年了 还是没有被Linux主线合并况且现在eBPF已成燎原之势文章目录Tracing control command-line interfaceTracing control libraryUser space tracing libraryControl and trace data paths between LTTng components.The LTTng project integrates:LTTng-toolsLibrari原创 2022-05-19 14:39:17 · 544 阅读 · 0 评论 -
[LTTng学习之旅]------Trace 数据提取和格式转换---Babeltrace 2 C 应用程序开发
分为两个方面,需要学习研究下面两个方面:babeltrace2CTF “Common Trace Format”研究发现 CTF也是他们自己搞出来的格式。而且是二进制的数据格式。学习意义不大 感觉、、、babeltrace2是LTTng项目独立出来的一套Trace log 文件处理工具。我研究了一下感觉像是要翻车啊。这一套东西感觉人气不旺啊。在网上连问问题的人都很少。更别说有例子可以参考了。唯一找到一篇中文博客还是骂他API设计的烂的。。。如果想要完成任务可能只有靠自己了。babeltrace2 也是很原创 2022-06-07 16:54:18 · 1742 阅读 · 4 评论 -
[LTTng学习之旅]------环境搭建
安装LTTng有 三个包:LTTng-toolsLibraries and command-line interface to control tracing.LTTng-modulesLinux kernel modules to instrument and trace the kernel.LTTng-USTLibraries and Java/Python packages to instrument and trace user applications.不需要全装原创 2022-05-14 16:49:20 · 792 阅读 · 0 评论 -
[LTTng实操]------开发Babeltrace 2插件
使用声明插件和类的宏 于 C文件末尾示例引用原型BT_PLUGIN_SOURCE_COMPONENT_CLASSAlias of with the parameter set to auto, the parameter set to _name, and the _name parameter set to a string version of _name.参数1:本例中输入 input 但是没加字符串双引号,应该是内部进行了转换。参数2:函数名(也可以说是函数指针,入口地址)。按原创 2022-06-16 14:16:21 · 728 阅读 · 2 评论 -
[LTTng实操]------设计一套东西监控某周期运行用户程序的执行时间和周期--需求分析和方案设计
需求假设我现在有一个进程,是周期运行,比如10ms执行一次。在运行过程中,可能会有系统调用,比如读写一些文件。或者打印一些log到终端。中间可能会被中断打断,也可能被RT进程抢占。我需要实时将每一次运行的时长和开始执行的时间周期通过网络协议发送到远端的设备上,进行监控和显示。如果我做着做着发现我水平还行的话,可能会加入检测进程被谁打断,在等什么资源这样一些帮助分析问题的信息。下面就对需求进行分类和分级了:必须实现的需求【Req1】获取 服务使用者调用服务,到进入服务处理程序的时间。【Req原创 2022-06-01 12:54:54 · 228 阅读 · 0 评论 -
[LTTng学习之旅]------Trace控制--初阶
文章目录Start a session daemon管理 recording session列出可用观测点管理 recording event rulestatus of a recording sessionStart and stop a recording sessionClear a recording session建立新的channelStart a session daemon在使用lttng命令行工具之前,需要先有一个session daemon。每一个user,都可以有一个自己的se原创 2022-05-29 20:26:06 · 681 阅读 · 0 评论 -
[LTTng学习之旅]------翻车-在WSL2中尝试使用LTTng
一切都看起来很顺利,我使用apt安装了各种包。然后尝试了一下:lttng list --kernelError: Unable to list kernel events: Kernel tracer not available然后搜索了一下:https://github.com/microsoft/WSL/issues/6137@trgibeau @ivberg-zz you mentioned WSL2 in https://tracingsummit.org/ts/2019/WPA/I原创 2022-05-15 15:05:34 · 345 阅读 · 0 评论 -
[LTTng学习之旅]------LTTng的Feature
文章目录观测范围高性能灵活易用性参见:https://lttng.org/features/观测范围System-wide insightLTTng allows to understand the interactions between multiple components of a given system, i.e.:The Linux kernel, using either already available or user-defined instrumentation point原创 2022-05-15 09:35:30 · 305 阅读 · 0 评论