• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# bytrace组件<a name="ZH-CN_TOPIC_0000001102209942"></a>
2
3-   [简介](#section152771918494)
4-   [架构图](#section6808195518497)
5-   [目录](#section1610792125019)
6-   [说明](#section18684185975017)
7-   [相关仓](#section1849151125618)
8
9## 简介<a name="section152771918494"></a>
10
11bytrace是开发人员用于追踪进程轨迹、查看性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。该工具主要分为两部分,API和命令行:
12
131.  bytrace向应用开发人员暴露了打点的API,开发应用过程中可以在关键代码处调用对应API进行打点;
142.  命令行部分通过使能对应的label,来获取打点信息。通过该工具可以打开想要查看的用户态和内核label(通过命令行“bytrace -l”,查看支持的所有label),然后通过命令行进行抓取trace信息到指定文件中,下文有具体使用指导。
15
16## 架构图<a name="section6808195518497"></a>
17
18![](figures/architecture_zh.png)
19
20## 目录<a name="section1610792125019"></a>
21
22```
23/developtools/bytrace
24├── bin           # bytrace组件代码目录
25│   └── include   # 头文件目录
26│   └── src       # 源文件目录
27│   └── test      # 测试用例目录
28├── interfaces    # 对外接口存放目录
29│   └── innerkits # 对内部子系统暴露的头文件存放目录
30│   └── kits      # 对外部暴露的头文件存放目录
31├── script        # 脚本目录
32```
33
34## 说明<a name="section18684185975017"></a>
35
36使用说明
37
38bytrace当前支持如下命令:
39
40**表 1**  命令行列表
41
42| Option | Description |
43|--------|------------|
44| -h,--help | 查看option帮助 |
45| -b n,--buffer_size n | 指定n(KB)内存大小用于存取trace日志,默认2048KB |
46| -t n,--time n | 用来指定trace运行的时间(单位:s),取决于需要分析过程的时间 |
47| --trace_clock clock | trace输出的时钟类型,一般设备支持boot、global、mono、uptime、perf等,默认为boot |
48| --trace_begin | 启动抓trace |
49| --trace_dump | 将数据输出到指定位置(默认控制台) |
50| --trace_finish | 停止抓trace,并将数据输出到指定位置(默认控制台) |
51| -l,--list_categories | 输出手机能支持的trace模块 |
52| --overwrite | 当缓冲区满的时候,将丢弃最新的信息。(默认丢弃最老的日志) |
53| -o filename,--output filename | 指定输出的目标文件名称 |
54| -z | 抓取trace后进行压缩 |
55
56以下是常用bytrace命令示例,供开发者参考:
57
58-   查询支持的label。
59
60    ```
61    bytrace -l
62    ```
63
64    或者
65
66    ```
67    bytrace --list_categories
68    ```
69
70
71-   设置4M缓存,抓取10秒,抓取label为ability的trace信息。
72
73    ```
74    bytrace -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
75    ```
76
77
78-   设置trace的输出时钟为mono。
79
80    ```
81    bytrace --trace_clock mono  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
82    ```
83
84
85-   抓取trace后进行压缩。
86
87    ```
88    bytrace -z  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
89    ```
90
91
92## 相关仓<a name="section1849151125618"></a>
93
94[研发工具链子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E7%A0%94%E5%8F%91%E5%B7%A5%E5%85%B7%E9%93%BE%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
95
96**developtools\_bytrace\_standard**
97
98