性能打點

2024-01-23 17:19 更新

本模塊提供了跟蹤進(jìn)程軌跡,度量程序執(zhí)行性能的打點能力。本模塊打點的數(shù)據(jù)供hiTraceMeter工具分析使用。

說明

本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import hiTraceMeter from '@ohos.hiTraceMeter';

hiTraceMeter.startTrace

startTrace(name: string, taskId: number): void

標(biāo)記一個預(yù)跟蹤耗時任務(wù)的開始。

如果有多個相同name的任務(wù)需要跟蹤或者對同一個任務(wù)要跟蹤多次,并且任務(wù)同時被執(zhí)行,則每次調(diào)用startTrace的taskId不相同。

如果具有相同name的任務(wù)是串行執(zhí)行的,則taskId可以相同。具體示例可參考hiTraceMeter.finishTrace中的示例。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace

參數(shù):

參數(shù)名類型必填說明
namestring要跟蹤的任務(wù)名稱
taskIdnumber任務(wù)id

示例:

  1. hiTraceMeter.startTrace("myTestFunc", 1);

hiTraceMeter.finishTrace

finishTrace(name: string, taskId: number): void

標(biāo)記一個預(yù)跟蹤耗時任務(wù)的結(jié)束。

finishTrace的name和taskId必須與流程開始的startTrace對應(yīng)參數(shù)值一致。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace

參數(shù):

參數(shù)名類型必填說明
namestring要跟蹤的任務(wù)名稱
taskIdnumber任務(wù)id。

示例:

  1. hiTraceMeter.finishTrace("myTestFunc", 1);
  1. // 跟蹤并行執(zhí)行的同名任務(wù)
  2. hiTraceMeter.startTrace("myTestFunc", 1);
  3. // 業(yè)務(wù)流程......
  4. hiTraceMeter.startTrace("myTestFunc", 2); // 第二個跟蹤的任務(wù)開始,同時第一個跟蹤的同名任務(wù)還沒結(jié)束,出現(xiàn)了并行執(zhí)行,對應(yīng)接口的taskId需要不同。
  5. // 業(yè)務(wù)流程......
  6. hiTraceMeter.finishTrace("myTestFunc", 1);
  7. // 業(yè)務(wù)流程......
  8. hiTraceMeter.finishTrace("myTestFunc", 2);
  1. // 跟蹤串行執(zhí)行的同名任務(wù)
  2. hiTraceMeter.startTrace("myTestFunc", 1);
  3. // 業(yè)務(wù)流程......
  4. hiTraceMeter.finishTrace("myTestFunc", 1); // 第一個跟蹤的任務(wù)結(jié)束
  5. // 業(yè)務(wù)流程......
  6. hiTraceMeter.startTrace("myTestFunc", 1); // 第二個跟蹤的同名任務(wù)開始,同名的待跟蹤任務(wù)串行執(zhí)行。
  7. // 業(yè)務(wù)流程......
  8. hiTraceMeter.finishTrace("myTestFunc", 1);

hiTraceMeter.traceByValue

traceByValue(name: string, count: number): void

用來標(biāo)記一個預(yù)跟蹤的數(shù)值變量,該變量的數(shù)值會不斷變化。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiTrace

參數(shù):

參數(shù)名類型必填說明
namestring要跟蹤的數(shù)值變量名稱
countnumber變量的值

示例:

  1. let traceCount = 3;
  2. hiTraceMeter.traceByValue("myTestCount", traceCount);
  3. traceCount = 4;
  4. hiTraceMeter.traceByValue("myTestCount", traceCount);
  5. //業(yè)務(wù)流程......
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號