perfetto 官方文档翻译

Perfetto 翻译第十五篇-数据来源-系统调用

2023-10-11  本文已影响0人  David_zhou

前言:虽然有翻译软件,虽然有chatgpt,毕竟语言隔阂,对这个工具还是一知半解,因此想通过翻译的方式和大家来一起学习下Perfetto这个强大的工具

目录

#####################以下分割线#####################
英文原文在这里
在Linux和Android(仅限用户调试版本)上,Perfetto可以跟踪系统调用。

目前,trace中仅记录系统调用编号,不存储参数以限制trace大小开销。

在导入时,Trace Processor 使用内部系统调用映射表,当前支持 x86、x86_64、ArmEabi、aarch32 和 aarch64。这些表是通过 extract_linux_syscall_tables脚本生成的。

[UI]

在 UI 级别,系统调用以内联方式显示,其中包含每个线程切片轨道:


syscalls.png
SQL

在 SQL 级别,系统调用与任何其他用户空间的切片事件没有什么不同。它们混合在每个线程切片堆栈中,可以通过查找“sys_”前缀轻松过滤:

select ts, dur, t.name as thread, s.name, depth from slices as s
left join thread_track as tt on s.track_id = tt.id
left join thread as t on tt.utid = t.utid
where s.name like 'sys_%'
截屏2023-10-12 22.54.01.png

TraceConfig 跟踪配置

data_sources: {
    config {
        name: "linux.ftrace"
        ftrace_config {
            ftrace_events: "raw_syscalls/sys_enter"
            ftrace_events: "raw_syscalls/sys_exit"
        }
    }
}

#####################以上分割线#####################

后记:
1 本次主要使用百度翻译,虽然被骂,但至少翻译这个工具降低了门槛。
2 英文文档中的长难句真的是又长又难,基于百度的翻译,然后自己再调整下,水平实在有限。
3 技术背景知识不够,有些专有名词不知道怎么翻译,也不知道百度翻译的是否准确,功夫在诗外。
4 万事开头难,中间难不难,还不知道。中间的事后面再说,正确一天翻译一篇。
5 虽然可能会有人不屑,但总要有人去做不起眼的小事。
6 google 厉害,这个perfetto 工具也很厉害。君子善假于物也。
7 工具的使用是最简单的入门,背后还有更多的东西值得学习。
8 水平实在有限,闻过则喜,希望有更多的人反馈,期待更好的建议

上一篇 下一篇

猜你喜欢

热点阅读