Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
b4d4153b
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,发现更多精彩内容 >>
提交
b4d4153b
编写于
2月 10, 2022
作者:
X
xuyong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
HiTrace JS api更新
Signed-off-by:
N
xuyong
<
xuyong59@huawei.com
>
上级
bf5b91bd
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
140 addition
and
33 deletion
+140
-33
zh-cn/application-dev/reference/apis/Readme-CN.md
zh-cn/application-dev/reference/apis/Readme-CN.md
+2
-2
zh-cn/application-dev/reference/apis/js-apis-hitracechain.md
zh-cn/application-dev/reference/apis/js-apis-hitracechain.md
+31
-31
zh-cn/application-dev/reference/apis/js-apis-hitracemeter.md
zh-cn/application-dev/reference/apis/js-apis-hitracemeter.md
+107
-0
未找到文件。
zh-cn/application-dev/reference/apis/Readme-CN.md
浏览文件 @
b4d4153b
...
...
@@ -66,9 +66,9 @@
-
[
设置系统时间
](
js-apis-system-time.md
)
-
[
动画
](
js-apis-basic-features-animator.md
)
-
[
应用打点
](
js-apis-hiappevent.md
)
-
[
性能打点
](
js-apis-
bytrace
.md
)
-
[
性能打点
](
js-apis-
hitracemeter
.md
)
-
[
故障日志获取
](
js-apis-faultLogger.md
)
-
[
分布式跟踪
](
js-apis-hitrace.md
)
-
[
分布式跟踪
](
js-apis-hitrace
chain
.md
)
-
语言基础类库
-
[
获取进程相关的信息
](
js-apis-process.md
)
-
[
URL字符串解析
](
js-apis-url.md
)
...
...
zh-cn/application-dev/reference/apis/js-apis-hitrace.md
→
zh-cn/application-dev/reference/apis/js-apis-hitrace
chain
.md
浏览文件 @
b4d4153b
...
...
@@ -6,7 +6,7 @@
## 导入模块
```
import hi
trace from '@ohos.hitrace
';
import hi
TraceChain from '@ohos.hiTraceChain
';
```
## 系统能力
...
...
@@ -62,7 +62,7 @@ SystemCapability.HiviewDFX.HiTrace
| parentSpanId | number | 否 | 父分支标识。 |
| flags | number | 否 | 跟踪标志组合。 |
## hi
trace
.begin
## hi
TraceChain
.begin
begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId
...
...
@@ -80,10 +80,10 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId
-
示例:
```
let asyncTraceId = hi
trace.begin("business", hitrace.HiTraceFlag.INCLUDE_ASYNC | hitrace
.HiTraceFlag.DONOT_CREATE_SPAN);
let asyncTraceId = hi
TraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain
.HiTraceFlag.DONOT_CREATE_SPAN);
```
## hi
trace
.end
## hi
TraceChain
.end
end(id: HiTraceId): void
...
...
@@ -96,12 +96,12 @@ end(id: HiTraceId): void
-
示例:
```
let asyncTraceId = hi
trace
.begin("business");
let asyncTraceId = hi
TraceChain
.begin("business");
// 若干业务逻辑完成后,结束跟踪。
hi
trace
.end(asyncTraceId);
hi
TraceChain
.end(asyncTraceId);
```
## hi
trace
.getId
## hi
TraceChain
.getId
getId(): HiTraceId
...
...
@@ -114,12 +114,12 @@ getId(): HiTraceId
-
示例:
```
let traceId = hi
trace
.begin("business");
let traceId = hi
TraceChain
.begin("business");
// 若干业务逻辑完成后,获取当前HiTraceId。
let curTraceId = hi
trace
.getId();
let curTraceId = hi
TraceChain
.getId();
```
## hi
trace
.setId
## hi
TraceChain
.setId
setId(id: HiTraceId): void
...
...
@@ -132,12 +132,12 @@ setId(id: HiTraceId): void
-
示例:
```
let traceId = hi
trace
.begin("business");
let traceId = hi
TraceChain
.begin("business");
// 若干业务逻辑完成后,设置当前HiTraceId。
hi
trace
.setId(asyncTraceId);
hi
TraceChain
.setId(asyncTraceId);
```
## hi
trace
.clearId
## hi
TraceChain
.clearId
clearId(): void
...
...
@@ -145,12 +145,12 @@ clearId(): void
-
示例:
```
let traceId = hi
trace
.begin("business");
let traceId = hi
TraceChain
.begin("business");
// 若干业务逻辑完成后,清除当前HiTraceId。
hi
trace
.clearId();
hi
TraceChain
.clearId();
```
## hi
trace
.createSpan
## hi
TraceChain
.createSpan
createSpan(): HiTraceId
...
...
@@ -163,12 +163,12 @@ createSpan(): HiTraceId
-
示例:
```
let traceId = hi
trace
.begin("business");
let traceId = hi
TraceChain
.begin("business");
// 若干业务逻辑完成后,创建跟踪分支。
let spanTraceId = hi
trace
.createSpan();
let spanTraceId = hi
TraceChain
.createSpan();
```
## hi
trace
.tracepoint
## hi
TraceChain
.tracepoint
tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracePointType, id: HiTraceId, msg?: string): void
...
...
@@ -184,12 +184,12 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracePointType, id: HiTr
-
示例:
```
let asyncTraceId = hi
trace.begin("business", hitrace.HiTraceFlag.INCLUDE_ASYNC | hitrace
.HiTraceFlag.DONOT_CREATE_SPAN);
let asyncTraceId = hi
TraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain
.HiTraceFlag.DONOT_CREATE_SPAN);
// 若干业务逻辑完成后,触发信息埋点操作。
hi
trace.tracepoint(hitrace.HiTraceCommunicationMode.THREAD, hitrace
.HiTraceTracePointType.SS, asyncTraceId, "Just a example");
hi
TraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain
.HiTraceTracePointType.SS, asyncTraceId, "Just a example");
```
## hi
trace
.isValid
## hi
TraceChain
.isValid
isValid(id: HiTraceId): boolean
...
...
@@ -206,11 +206,11 @@ isValid(id: HiTraceId): boolean
-
示例:
```
let traceId = hi
trace
.begin("business");
let traceIdIsvalid = hi
trace
.isValid(traceId);
let traceId = hi
TraceChain
.begin("business");
let traceIdIsvalid = hi
TraceChain
.isValid(traceId);
```
## hi
trace
.isFlagEnabled
## hi
TraceChain
.isFlagEnabled
isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
...
...
@@ -227,12 +227,12 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
| boolean | 返回true标识HiTraceId已置位指定的flag,否则没有置位。 |
-
示例:
```
let asyncTraceId = hi
trace.begin("business", hitrace
.HiTraceFlag.INCLUDE_ASYNC);
let asyncTraceId = hi
TraceChain.begin("business", hiTraceChain
.HiTraceFlag.INCLUDE_ASYNC);
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hi
trace.isFlagEnabled(asyncTraceId, hitrace
.HiTraceFlag.INCLUDE_ASYNC);
let enabledDoNotCreateSpanFlag = hi
TraceChain.isFlagEnabled(asyncTraceId, hiTraceChain
.HiTraceFlag.INCLUDE_ASYNC);
```
## hi
trace
.enableFlag
## hi
TraceChain
.enableFlag
enableFlag(id: HiTraceId, flag: HiTraceFlag): void
...
...
@@ -246,8 +246,8 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void
-
示例:
```
let asyncTraceId = hi
trace.begin("business", hitrace
.HiTraceFlag.INCLUDE_ASYNC);
hi
trace.enable(asyncTraceId, hitrace
.HiTraceFlag.DONOT_CREATE_SPAN);
let asyncTraceId = hi
TraceChain.begin("business", hiTraceChain
.HiTraceFlag.INCLUDE_ASYNC);
hi
TraceChain.enable(asyncTraceId, hiTraceChain
.HiTraceFlag.DONOT_CREATE_SPAN);
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hi
trace.isFlagEnabled(asyncTraceId, hitrace
.HiTraceFlag.DONOT_CREATE_SPAN);
let enabledDoNotCreateSpanFlag = hi
TraceChain.isFlagEnabled(asyncTraceId, hiTraceChain
.HiTraceFlag.DONOT_CREATE_SPAN);
```
zh-cn/application-dev/reference/apis/js-apis-hitracemeter.md
0 → 100644
浏览文件 @
b4d4153b
# 性能打点
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import hiTraceMeter from '@ohos.hiTraceMeter';
```
## 系统能力
SystemCapability.HiviewDFX.HiTrace
## hiTraceMeter.startTrace
startTrace(name: string, taskId: number, expectedTime?: number): void
标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
-
参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
| expectedTime | number | 否 | 期望的耗时时间,单位:ms |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面hiTraceMeter.finishTrace的示例中会举例说明。
-
示例:
```
hiTraceMeter.startTrace("myTestFunc", 1);
hiTraceMeter.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
```
## hiTraceMeter.finishTrace
finishTrace(name: string, taskId: number): void
标记一个预追踪耗时任务的结束。
-
参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。
-
示例:
```
hiTraceMeter.finishTrace("myTestFunc", 1);
```
```
//追踪并行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 2);
```
```
//追踪串行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
```
## hiTraceMeter.traceByValue
traceByValue(name: string, value: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。
-
参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的数值变量名称 |
| value | number | 是 | 变量的值 |
-
示例:
```
let traceCount = 3;
hiTraceMeter.traceByValue("myTestCount", traceCount);
traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
//业务流程......
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录