Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
aab1f0cb
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
aab1f0cb
编写于
3月 13, 2023
作者:
O
openharmony_ci
提交者:
Gitee
3月 13, 2023
浏览文件
操作
浏览文件
下载
差异文件
!15911 hitracemeter概述文档开发步骤和开发实例冗余
Merge pull request !15911 from shanghuanni/master
上级
7dfaea84
7ae4eeba
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
29 deletion
+14
-29
zh-cn/device-dev/subsystems/subsys-dfx-hitracemeter.md
zh-cn/device-dev/subsystems/subsys-dfx-hitracemeter.md
+14
-29
未找到文件。
zh-cn/device-dev/subsystems/subsys-dfx-hitracemeter.md
浏览文件 @
aab1f0cb
...
...
@@ -144,34 +144,9 @@ C++接口仅系统开发者使用,JS(目前暂未开放js接口)应用开
#include "hitrace_meter.h"//接口函数定义头文件
```
3.
接口调用,将需要跟踪的Trace value传入参数,在shell中执行hitrace命令后会自动抓取Trace数据,抓到的Trace数据中包括了函数调用过程以及调用过程消耗的内存和时间,可用于分析代码调用流程,代码性能问题。
3.
接口调用,将需要跟踪的Trace value传入参数,
目前HiTraceMeter支持的Trace Tag在基本概念hitrace_meter.h中都已列出,我们以OHOS这个Tag为例,假设我们需要获取func1,func2函数的Trace数据,参考下面实例,
在shell中执行hitrace命令后会自动抓取Trace数据,抓到的Trace数据中包括了函数调用过程以及调用过程消耗的内存和时间,可用于分析代码调用流程,代码性能问题。
```
cpp
CountTrace
(
label
,
"count number"
,
2000
);
// 整数跟踪
StartTrace
(
label
,
"func1Trace"
,
-
1
);
// func1Start的跟踪起始点
FinishTrace
(
label
);
// func1Trace的结束点
StartAsyncTrace
(
label
,
"asyncTrace1"
,
1234
);
// 异步asyncTrace1的开始点
FinishAsyncTrace
(
label
,
"asyncTrace2"
,
3456
);
// 异步asyncTrace2的结束点
```
4.
使用方法,打点编译部署完成后,运行下面命令行来抓取Trace。然后在端侧shell里运行应用,可以抓取到Trace数据。
```
hdc_std shell hitrace -t 10 ohos > .\myapp_demo.ftrace
```
抓取之后的数据可以在smartperf中"Open trace file"或者直接拖入图形区打开,关于smartperf的详细介绍可查看
[
smartperf
](
https://toscode.gitee.com/openharmony-sig/smartperf
)
。
## 开发示例
目前HiTraceMeter支持的Trace Tag在基本概念hitrace_meter.h中都已列出,我们以OHOS这个Tag为例,假设我们需要获取func1,func2函数的Trace数据,则一个使用示例如下:
```
cpp
#include "hitrace_meter.h" // 包含hitrace_meter.h
using
namespace
std
;
...
...
@@ -189,11 +164,21 @@ int main()
FinishTrace
(
label
);
// func2Trace的结束点
sleep
(
1
);
FinishTrace
(
label
);
// func1Trace的结束点
StartAsyncTrace
(
label
,
"asyncTrace1"
,
1234
);
// 异步asyncTrace1的开始点
FinishAsyncTrace
(
label
,
"asyncTrace1"
,
1234
);
// 异步asyncTrace2的结束点
return
0
;
}
```
}
```
4.
使用方法,打点编译部署完成后,运行下面命令行来抓取Trace。然后在端侧shell里运行应用,可以抓取到Trace数据。
```
hdc_std shell hitrace -t 10 ohos > .\myapp_demo.ftrace
```
抓取之后的数据可以在smartperf中"Open trace file"或者直接拖入图形区打开,关于smartperf的详细介绍可查看
[
smartperf
](
https://toscode.gitee.com/openharmony-sig/smartperf
)
。
## 调测验证
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录