鸿蒙5.0开发【如何通过AOP统计方法执行时间】应用运维

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

示例如下:

import { util } from '@kit.ArkTS'; 
import { systemDateTime } from '@kit.BasicServicesKit'; 
 
class Utils { 
  Add(len: number): number { 
    let num = 0; 
    for (let index = 1; index <= len; index++) { 
      num += index; 
    } 
    return num; 
  } 
} 
 
let startTime = 0; // 初始化开始时间 
let endTime = 0; // 初始化结束时间 
 
util.Aspect.addBefore(Utils, 'Add', false, () => { 
  startTime = systemDateTime.getTime(true); // 以纳秒数返回开始时间 
}) 
 
util.Aspect.addAfter(Utils, 'Add', false, () => { 
  endTime = systemDateTime.getTime(true); // 以纳秒数返回结束时间 
}) 
 
let utilsObj = new Utils(); 
utilsObj.Add(1000); 
 
@Entry 
@Component 
struct Index { 
  build() { 
    Row() { 
      Column() { 
        Button('get execution time') 
          .onClick(() => { 
            console.log('startTime:', startTime); 
            console.log('endTime:', endTime); 
            console.log('endTime - startTime = ', endTime - startTime); 
          }) 
      } 
      .width('100%') 
    }.height('100%') 
  } 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值