研发工具链子系统
简介
在OpenHarmony中,研发工具链子系统主要为开发人员提供了开发时用于调试的命令行以及追踪性能轨迹、查看性能的工具。
本子系统主要实现了以下功能:
- bytrace,开发人员用于追踪进程轨迹、查看性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。
- hdc,开发人员用于调试的命令行工具,通过该工具可以在windows/linux/mac等系统上与开发机或者模拟器进行交互。
- profiler,旨在为开发者提供一套性能调优平台,可以用来分析内存、性能等问题。
系统架构
工具链子系统的架构图如下:
目录
/developtools # 研发工具链子系统目录结构
├── bytrace_standard # bytrace组件代码目录
│ └── bin # bytrace组件功能实现目录
│ └── innerkits # 对内部子系统暴露的头文件存放目录
├── hdc_standard # hdc组件代码目录
│ └── src # hdc组件功能实现目录
│ └── prebuilt # 预编译目录
├── profiler # 性能调优组件代码目录
│ └── device # 设备侧代码目录
│ └── host # host端代码目录
│ └── interfaces # 模块间和对外提供的接口代码目录
│ └── trace_analyzer # bytrace解析模块的代码目录
│ └── protos # proto格式文件的代码目录
使用说明
1. bytrace
bytrace当前支持如下命令:
表 1 命令行列表
以下是常用bytrace命令示例,供开发者参考:
-
查询支持的label。
bytrace -l 或者 bytrace --list_categories
-
设置4M缓存,抓取10秒,抓取label为ability的trace信息。
bytrace -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
-
设置trace的输出时钟为mono。
bytrace --trace_clock mono -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
-
抓取trace后进行压缩。
bytrace -z -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
2. hdc
hdc当前支持如下命令:
表 2 hdc命令列表
以下是常用hdc命令示例,供开发者参考:
-
往设备中推送文件
hdc file send E:\c.txt /sdcard
-
重启设备
hdc target boot
-
查看日志
hdc hilog
-
进入命令行交互模式
hdc shell
-
配置服务监听的socket。
hdc -s 192.168.1.100:1234
-
重启至bootloader模式。
hdc target boot bootloader
-
网络连接。
hdc tconn 192.168.0.100:8710
3. profiler
性能调优组件包含系统和应用调优框架,旨在为开发者提供一套性能调优平台,可以用来分析内存、性能等问题。
该组件整体分为PC端和设备端两部分:
-
PC端最终作为deveco studio的插件进行发布,内部主要包括分为UI绘制、设备管理、进程管理、插件管理、数据导入、数据存储、 数据分析、Session管理、配置管理等模块。
-
设备端主要包括命令行工具、服务进程、插件集合、应用程序组件等模块。设备端提供了插件扩展能力,对外提供了插件接口,基于该扩展能力可以按需定义自己的能力,并集成到框架中来,目前基于插件能力已经完成了实时内存插件和trace插件。详细内容见性能调优组件。
相关仓
研发工具链子系统