如何通过AOP统计方法执行时间-鸿蒙开发者社区-51CTO.COM

如何通过AOP统计方法执行时间

如何通过AOP统计方法执行时间

HarmonyOS
2024-06-13 23:18:19
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
flyCloud00

对于执行时间的统计,我们可以利用addBefore记录开始时间,而用addAfter记录结束时间。

function addTimePrinter(targetClass: Object, methodName: string, isStatic: boolean, isNanoseconds:boolean) { 
  let t1 = 0; 
  let t2 = 0; 
  util.Aspect.addBefore(targetClass, methodName, isStatic, () => { 
    t1 = systemDateTime.getTime(isNanoseconds); 
  }) 
  util.Aspect.addAfter(targetClass, methodName, isStatic, () => { 
    t2 = systemDateTime.getTime(isNanoseconds); 
    console.log("t2 - t1 = " + (t2 - t1).toString()); 
  }) 
} 
 
class Utils { 
  Add(len:number) :number{ 
    let num = 0; 
    for (let index = 1; index <= len; index++) { 
      num += index 
    } 
    return num 
  } 
} 
 
addTimePrinter(Utils, 'Add', false, true); 
let m = new Utils(); 
m.Add(10000);
分享
微博
QQ
微信
回复
2024-06-14 22:33:27
相关问题
HarmonyOS 代码延迟时间执行方法
365浏览 • 1回复 待解决
行时AOP插桩demo测试
931浏览 • 1回复 待解决
DevEco无法执行Previewer
453浏览 • 1回复 待解决
HarmonyOS App启动时间统计
357浏览 • 1回复 待解决
ForEach在真机上无法执行
1854浏览 • 1回复 待解决
HarmonyOS runJavaScript执行时
217浏览 • 1回复 待解决
Image缓存配置执行时
668浏览 • 1回复 待解决
HarmonyOS 动画执行时机问题
186浏览 • 1回复 待解决
HarmonyOS 关于AOP具体使用方法
338浏览 • 1回复 待解决
eTS中如何行时间与字符串转换?
4119浏览 • 1回复 待解决
延迟任务执行时机及运行线程
2034浏览 • 1回复 待解决