性能打點(diǎn)
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導(dǎo)入模塊
import bytrace from '@ohos.bytrace';
bytrace.startTrace
startTrace(name: string, taskId: number, expectedTime?: number): void
標(biāo)記一個(gè)預(yù)追蹤耗時(shí)任務(wù)的開(kāi)始,expectedTime是可選參數(shù),標(biāo)識(shí)該任務(wù)的期望耗時(shí)。
系統(tǒng)能力: SystemCapability.Developtools.Bytrace
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要追蹤的任務(wù)名稱(chēng) |
taskId | number | 是 | 任務(wù)id |
expectedTime | number | 否 | 期望的耗時(shí)時(shí)間,單位:ms |
說(shuō)明: 如果有多個(gè)相同name的任務(wù)需要追蹤或者對(duì)同一個(gè)任務(wù)要追蹤多次,并且這些會(huì)同時(shí)被執(zhí)行,則每次調(diào)用startTrace的taskId必須不一致。如果具有相同name的任務(wù)是串行執(zhí)行的,則taskId可以相同。在下面bytrace.finishTrace的示例中會(huì)舉例說(shuō)明。
示例:
bytrace.startTrace("myTestFunc", 1);
bytrace.startTrace("myTestFunc", 1, 5); //從startTrace到finishTrace流程的耗時(shí)期望為5ms
bytrace.finishTrace
finishTrace(name: string, taskId: number): void
標(biāo)記一個(gè)預(yù)追蹤耗時(shí)任務(wù)的結(jié)束。
系統(tǒng)能力: SystemCapability.Developtools.Bytrace
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要追蹤的任務(wù)名稱(chēng) |
taskId | number | 是 | 任務(wù)id |
說(shuō)明: finishTrace的name和taskId必須與流程開(kāi)始的startTrace對(duì)應(yīng)參數(shù)值一致。
示例:
bytrace.finishTrace("myTestFunc", 1);
//追蹤并行執(zhí)行的同名任務(wù)
bytrace.startTrace("myTestFunc", 1);
//業(yè)務(wù)流程......
bytrace.startTrace("myTestFunc", 2); //第二個(gè)追蹤的任務(wù)開(kāi)始,同時(shí)第一個(gè)追蹤的同名任務(wù)還沒(méi)結(jié)束,出現(xiàn)了并行執(zhí)行,對(duì)應(yīng)接口的taskId需要不同。
//業(yè)務(wù)流程......
bytrace.finishTrace("myTestFunc", 1);
//業(yè)務(wù)流程......
bytrace.finishTrace("myTestFunc", 2);
//追蹤串行執(zhí)行的同名任務(wù)
bytrace.startTrace("myTestFunc", 1);
//業(yè)務(wù)流程......
bytrace.finishTrace("myTestFunc", 1); //第一個(gè)追蹤的任務(wù)結(jié)束
//業(yè)務(wù)流程......
bytrace.startTrace("myTestFunc", 1); //第二個(gè)追蹤的同名任務(wù)開(kāi)始,同名的待追蹤任務(wù)串行執(zhí)行。
//業(yè)務(wù)流程......
bytrace.finishTrace("myTestFunc", 1);
bytrace.traceByValue
traceByValue(name: string, count: number): void
用來(lái)標(biāo)記一個(gè)預(yù)追蹤的數(shù)值變量,該變量的數(shù)值會(huì)不斷變化。
系統(tǒng)能力: SystemCapability.Developtools.Bytrace
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|---|
name | string | 是 | 要追蹤的數(shù)值變量名稱(chēng) |
count | number | 是 | 變量的值 |
示例:
let traceCount = 3;
bytrace.traceByValue("myTestCount", traceCount);
traceCount = 4;
bytrace.traceByValue("myTestCount", traceCount);
//業(yè)務(wù)流程......
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8650瀏覽量
151428 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2372瀏覽量
42911
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論