Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
854d5fef
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
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看板
未验证
提交
854d5fef
编写于
8月 08, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 08, 2023
浏览文件
操作
浏览文件
下载
差异文件
!22024 【轻量级 PR】:VOD优化,将ArkTS前置
Merge pull request !22024 from zengyawen/N/A
上级
dc802299
660b6ea0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
111 addition
and
105 deletion
+111
-105
zh-cn/application-dev/dfx/hitracemeter-guidelines.md
zh-cn/application-dev/dfx/hitracemeter-guidelines.md
+111
-105
未找到文件。
zh-cn/application-dev/dfx/hitracemeter-guidelines.md
浏览文件 @
854d5fef
...
@@ -35,114 +35,120 @@ hiTraceMeter为开发者提供系统性能打点接口。开发者通过在自
...
@@ -35,114 +35,120 @@ hiTraceMeter为开发者提供系统性能打点接口。开发者通过在自
在应用启动执行页面加载后,开始分布式跟踪,完成业务之后,停止分布式跟踪。
在应用启动执行页面加载后,开始分布式跟踪,完成业务之后,停止分布式跟踪。
1.
新建一个JS应用工程,在“Project”窗口点击“entry > src > main > js > default > pages > index”,打开工程中的“index.js”文件,在页面执行加载后,在自己的业务中调用hiTraceMeter的接口,进行性能打点跟踪,示例代码如下:
1.
新建工程,并在业务中调用hiTraceMeter接口,进行性能打点跟踪。
```
js
import
hiTraceMeter
from
'
@ohos.hiTraceMeter
'
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
// 跟踪并行执行的同名任务
hiTraceMeter
.
startTrace
(
"
business
"
,
1
);
// 业务流程
console
.
log
(
`business running`
);
hiTraceMeter
.
startTrace
(
"
business
"
,
2
);
// 第二个跟踪任务开始,同时第一个跟踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
// 业务流程
console
.
log
(
`business running`
);
hiTraceMeter
.
finishTrace
(
"
business
"
,
1
);
// 业务流程
console
.
log
(
`business running`
);
hiTraceMeter
.
finishTrace
(
"
business
"
,
2
);
// 跟踪串行执行的同名任务
hiTraceMeter
.
startTrace
(
"
business
"
,
1
);
// 业务流程
console
.
log
(
`business running`
);
hiTraceMeter
.
finishTrace
(
"
business
"
,
1
);
// 第一个跟踪的任务结束
// 业务流程
console
.
log
(
`business running`
);
hiTraceMeter
.
startTrace
(
"
business
"
,
1
);
// 第二个跟踪的同名任务开始,同名的待跟踪任务串行执行。
// 业务流程
console
.
log
(
`business running`
);
let
traceCount
=
3
;
hiTraceMeter
.
traceByValue
(
"
myTestCount
"
,
traceCount
);
traceCount
=
4
;
hiTraceMeter
.
traceByValue
(
"
myTestCount
"
,
traceCount
);
hiTraceMeter
.
finishTrace
(
"
business
"
,
1
);
}
}
```
2.
新建一个ArkTs应用工程,在“Project”窗口点击“entry > src > main > ets > pages > index”,打开工程中的“index.ets”文件,在页面执行加载后,在自己的业务中调用hiTraceMeter的接口,进行性能打点跟踪,以任务名name为HITRACE_TAG_APP为例 示例代码如下:
```
ts
import
hitrace
from
'
@ohos.hiTraceMeter
'
;
@
Entry
@
Component
struct
Index
{
@
State
message
:
string
=
'
Hello World
'
;
build
()
{
-
**ArkTS应用工程**
Row
()
{
Column
()
{
新建一个ArkTS应用工程,在“Project”窗口点击“entry > src > main > ets > pages > index”,打开工程中的“index.ets”文件,在页面执行加载后,在自己的业务中调用hiTraceMeter的接口,进行性能打点跟踪,以任务名name为HITRACE_TAG_APP为例 示例代码如下:
Text
(
this
.
message
)
.
fontSize
(
50
)
```ts
.
fontWeight
(
FontWeight
.
Bold
)
import hitrace from '@ohos.hiTraceMeter';
.
onClick
(()
=>
{
this
.
message
=
'
Hello ArkUI
'
;
@Entry
@Component
// 跟踪并行执行的同名任务
struct Index {
hitrace
.
startTrace
(
"
HITRACE_TAG_APP
"
,
1001
);
@State message: string = 'Hello World';
// 业务流程
console
.
log
(
`HITRACE_TAG_APP running`
);
build() {
Row() {
// 第二个跟踪任务开始,同时第一个跟踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
Column() {
hitrace
.
startTrace
(
"
HITRACE_TAG_APP
"
,
1002
);
Text(this.message)
// 业务流程
.fontSize(50)
console
.
log
(
`HITRACE_TAG_APP running`
);
.fontWeight(FontWeight.Bold)
.onClick(() => {
hitrace
.
finishTrace
(
"
HITRACE_TAG_APP
"
,
1001
);
this.message = 'Hello ArkUI';
hitrace
.
finishTrace
(
"
HITRACE_TAG_APP
"
,
1002
);
// 跟踪并行执行的同名任务
// 跟踪串行执行的同名任务,taskId可以不同,也可以相同
hitrace.startTrace("HITRACE_TAG_APP", 1001);
hitrace
.
startTrace
(
"
HITRACE_TAG_APP
"
,
1003
);
// 业务流程
// 业务流程
console.log(`HITRACE_TAG_APP running`);
console
.
log
(
`HITRACE_TAG_APP running`
);
//第一个跟踪的任务结束
// 第二个跟踪任务开始,同时第一个跟踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
hitrace
.
finishTrace
(
"
HITRACE_TAG_APP
"
,
1003
);
hitrace.startTrace("HITRACE_TAG_APP", 1002);
// 业务流程
// 第二个跟踪任务开始,同名的待跟踪任务串行执行,且taskId不同
console.log(`HITRACE_TAG_APP running`);
hitrace
.
startTrace
(
"
HITRACE_TAG_APP
"
,
1004
);
// 业务流程
hitrace.finishTrace("HITRACE_TAG_APP", 1001);
console
.
log
(
`HITRACE_TAG_APP running`
);
hitrace.finishTrace("HITRACE_TAG_APP", 1002);
let
traceCount
=
3
;
hitrace
.
traceByValue
(
"
myTestCount
"
,
traceCount
);
// 跟踪串行执行的同名任务,taskId可以不同,也可以相同
hitrace
.
finishTrace
(
"
HITRACE_TAG_APP
"
,
1004
);
hitrace.startTrace("HITRACE_TAG_APP", 1003);
// 业务流程
// 第三个跟踪任务开始,同名的待跟踪任务串行执行,且taskId与上一个相同
console.log(`HITRACE_TAG_APP running`);
hitrace
.
startTrace
(
"
HITRACE_TAG_APP
"
,
1004
);
//第一个跟踪的任务结束
// 业务流程
hitrace.finishTrace("HITRACE_TAG_APP", 1003);
console
.
log
(
`HITRACE_TAG_APP running`
);
//第三个跟踪的任务结束
// 第二个跟踪任务开始,同名的待跟踪任务串行执行,且taskId不同
hitrace
.
finishTrace
(
"
HITRACE_TAG_APP
"
,
1004
);
hitrace.startTrace("HITRACE_TAG_APP", 1004);
// 业务流程
})
console.log(`HITRACE_TAG_APP running`);
let traceCount = 3;
hitrace.traceByValue("myTestCount", traceCount);
hitrace.finishTrace("HITRACE_TAG_APP", 1004);
// 第三个跟踪任务开始,同名的待跟踪任务串行执行,且taskId与上一个相同
hitrace.startTrace("HITRACE_TAG_APP", 1004);
// 业务流程
console.log(`HITRACE_TAG_APP running`);
//第三个跟踪的任务结束
hitrace.finishTrace("HITRACE_TAG_APP", 1004);
})
}
.width('100%')
}
.height('100%')
}
}
.
width
(
'
100%
'
)
}
.
height
(
'
100%
'
)
}
}
}
```
```
-
**JS应用工程**
3.
运行项目,点击应用界面上的运行按钮,在shell中依次执行如下命令:
新建一个JS应用工程,在“Project”窗口点击“entry > src > main > js > default > pages > index”,打开工程中的“index.js”文件,在页面执行加载后,在自己的业务中调用hiTraceMeter的接口,进行性能打点跟踪,示例代码如下:
```js
import hiTraceMeter from '@ohos.hiTraceMeter'
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
// 跟踪并行执行的同名任务
hiTraceMeter.startTrace("business", 1);
// 业务流程
console.log(`business running`);
hiTraceMeter.startTrace("business", 2); // 第二个跟踪任务开始,同时第一个跟踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
// 业务流程
console.log(`business running`);
hiTraceMeter.finishTrace("business", 1);
// 业务流程
console.log(`business running`);
hiTraceMeter.finishTrace("business", 2);
// 跟踪串行执行的同名任务
hiTraceMeter.startTrace("business", 1);
// 业务流程
console.log(`business running`);
hiTraceMeter.finishTrace("business", 1); // 第一个跟踪的任务结束
// 业务流程
console.log(`business running`);
hiTraceMeter.startTrace("business", 1); // 第二个跟踪的同名任务开始,同名的待跟踪任务串行执行。
// 业务流程
console.log(`business running`);
let traceCount = 3;
hiTraceMeter.traceByValue("myTestCount", traceCount);
traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
hiTraceMeter.finishTrace("business", 1);
}
}
```
2.
运行项目,点击应用界面上的运行按钮,在shell中依次执行如下命令:
```
shell
```
shell
hdc shell
hdc shell
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录