0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙语言基础类库:ohos.bytrace 性能打点

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-07-18 15:41 次阅读

性能打点

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 从API Version 8开始,该接口不再维护,推荐使用新接口[@ohos.hiTraceMeter]
  • 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import bytrace from '@ohos.bytrace';

bytrace.startTrace

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

标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。

系统能力: SystemCapability.Developtools.Bytrace

参数:

参数名类型必填说明
namestring要追踪的任务名称
taskIdnumber任务id
expectedTimenumber期望的耗时时间,单位:ms

说明: 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面bytrace.finishTrace的示例中会举例说明。

示例:

bytrace.startTrace("myTestFunc", 1);
bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms

bytrace.finishTrace

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

标记一个预追踪耗时任务的结束。

系统能力: SystemCapability.Developtools.Bytrace

参数:

参数名类型必填说明
namestring要追踪的任务名称
taskIdnumber任务id

说明: finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。

示例:

bytrace.finishTrace("myTestFunc", 1);
//追踪并行执行的同名任务
bytrace.startTrace("myTestFunc", 1);
//业务流程...... 
bytrace.startTrace("myTestFunc", 2);  //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程...... 
bytrace.finishTrace("myTestFunc", 1);
//业务流程...... 
bytrace.finishTrace("myTestFunc", 2);
//追踪串行执行的同名任务
bytrace.startTrace("myTestFunc", 1);
//业务流程...... 
bytrace.finishTrace("myTestFunc", 1);  //第一个追踪的任务结束
//业务流程...... 
bytrace.startTrace("myTestFunc", 1);   //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程...... 
bytrace.finishTrace("myTestFunc", 1);

bytrace.traceByValue

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

用来标记一个预追踪的数值变量,该变量的数值会不断变化。

系统能力: SystemCapability.Developtools.Bytrace

参数:

参数名类型必填说明HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿
namestring要追踪的数值变量名称
countnumber变量的值

示例:

let traceCount = 3;
bytrace.traceByValue("myTestCount", traceCount);
traceCount = 4;
bytrace.traceByValue("myTestCount", traceCount);
//业务流程......

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8565

    浏览量

    150993
  • 鸿蒙
    +关注

    关注

    57

    文章

    2335

    浏览量

    42794
收藏 人收藏

    评论

    相关推荐

    鸿蒙语言ArkTS(更好的生产力与性能

    ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。 同时,它在保持TypeScript(简称TS)基本语法
    发表于 02-17 15:56

    ArkTS语言基础-解析

    ArkTS语言基础是HarmonyOS系统上为应用开发者提供的常用基础能力,主要包含能力如下图所示。 图1 ArkTS语言基础
    发表于 02-20 16:44

    鸿蒙原生应用开发-ArkTS语言基础概述

    ArkTS语言基础是HarmonyOS系统上为应用开发者提供的常用基础能力,主要包含能力如下图所示。 1.提供异步并发和多线程并发的能力。 支持Promise和async/await等标准
    发表于 03-05 15:42

    OpenHarmony常用的性能分析工具

    1、OpenHarmony性能分析工具Bytrace介绍一、Bytrace简介bytrace是开发人员用于追踪进程轨迹、查看性能的一种工具,
    发表于 03-21 09:42

    HarmonyOS语言基础开发指南上线啦!

    语言基础提供哪些功能?多线程并发如何实现?TaskPool(任务池)和Worker在实现和使用场景上有何不同? 针对开发者关注的并发等语言基础
    的头像 发表于 10-18 16:20 568次阅读
    HarmonyOS<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>开发指南上线啦!

    鸿蒙OpenHarmony大合集:【语言基础

    本示例集合语言基础的各个子模块,展示了各个模块的基础功能
    的头像 发表于 04-29 16:38 567次阅读
    <b class='flag-5'>鸿蒙</b>OpenHarmony大合集:【<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>】

    鸿蒙开发系统基础能力:ohos.hiAppEvent应用打点

    本模块提供了应用事件打点能力,包括对打点数据的落盘,以及对打点功能的管理配置。
    的头像 发表于 06-24 11:09 497次阅读
    <b class='flag-5'>鸿蒙</b>开发系统基础能力:<b class='flag-5'>ohos</b>.hiAppEvent应用<b class='flag-5'>打点</b>

    鸿蒙开发系统基础能力:ohos.hiTraceMeter性能打点

    本模块提供了追踪进程轨迹,度量程序执行性能打点能力。本模块打点的数据供hiTraceMeter工具分析使用。
    的头像 发表于 06-25 16:12 393次阅读
    <b class='flag-5'>鸿蒙</b>开发系统基础能力:<b class='flag-5'>ohos</b>.hiTraceMeter<b class='flag-5'>性能</b><b class='flag-5'>打点</b>

    鸿蒙语言基础ohos.convertxml xml转换JavaScript

    转换xml文本为JavaScript对象。
    的头像 发表于 07-08 15:54 407次阅读
    <b class='flag-5'>鸿蒙语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>ohos</b>.convertxml  xml转换JavaScript

    鸿蒙语言基础ohos.util.HashMap 非线性容器HashMap

    HashMap底层使用数组+链表+红黑树的方式实现,查询、插入和删除的效率都很高。HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value。
    的头像 发表于 07-10 16:31 437次阅读
    <b class='flag-5'>鸿蒙语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>ohos</b>.util.HashMap 非线性容器HashMap

    鸿蒙语言基础ohos.worker 启动一个Worker

    Worker是与主线程并行的独立线程。创建Worker的线程称之为宿主线程,Worker自身的线程称之为Worker线程。创建Worker传入的url文件在Worker线程中执行,可以处理耗时操作但不可以直接操作UI。
    的头像 发表于 07-11 17:03 449次阅读
    <b class='flag-5'>鸿蒙语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>ohos</b>.worker 启动一个Worker

    鸿蒙语言基础ohos.xml xml解析与生成

    XmlSerializer的构造函数。
    的头像 发表于 07-12 09:39 327次阅读

    鸿蒙语言基础ohos.application.testRunner TestRunner 测试

    TestRunner模块提供了框架测试的能力。包括准备单元测试环境、运行测试用例。
    的头像 发表于 07-12 09:32 293次阅读

    鸿蒙语言基础ohos.uitest UiTest测试

    UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。
    的头像 发表于 07-12 17:38 486次阅读

    鸿蒙语言基础:system.configuration 应用配置

    获取应用当前的语言和地区。默认与系统的语言和地区同步。
    的头像 发表于 07-16 09:34 311次阅读