未验证 提交 854d5fef 编写于 作者: O openharmony_ci 提交者: Gitee

!22024 【轻量级 PR】:VOD优化,将ArkTS前置

Merge pull request !22024 from zengyawen/N/A
...@@ -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.
先完成此消息的编辑!
想要评论请 注册