如何通过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 Scroll回调方法执行改变
417浏览 • 1回复 待解决
DevEco无法执行Previewer
1030浏览 • 1回复 待解决
HarmonyOS 代码延迟时间执行方法
969浏览 • 1回复 待解决
ForEach在真机上无法执行
2269浏览 • 1回复 待解决
行时AOP插桩demo测试
1460浏览 • 1回复 待解决
HarmonyOS App启动时间统计
928浏览 • 1回复 待解决
HarmonyOS taskpool无法执行C++代码
563浏览 • 1回复 待解决
HarmonyOS runJavaScript执行时
640浏览 • 1回复 待解决
HarmonyOS 动画执行时机问题
587浏览 • 1回复 待解决
Image缓存配置执行时
1050浏览 • 1回复 待解决