1# 性能打点<a name="ZH-CN_TOPIC_0000001209509395"></a> 2 3> **说明:** 4>从 API Version 7 开始支持。 5 6## 导入模块<a name="zh-cn_topic_0000001209019195_s56d19203690d4782bfc74069abb6bd71"></a> 7 8``` 9import bytrace from '@ohos.bytrace'; 10``` 11 12## 权限<a name="zh-cn_topic_0000001209019195_section11257113618419"></a> 13 14无 15 16## bytrace.startTrace<a name="zh-cn_topic_0000001209019195_section785191510485"></a> 17 18startTrace\(name: string, taskId: number, expectedTime?: number\): void 19 20标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。 21 22- 参数: 23 24 <a name="zh-cn_topic_0000001209019195_table69661135912"></a> 25 <table><thead align="left"><tr id="zh-cn_topic_0000001209019195_row149668318915"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209019195_p7966738914"><a name="zh-cn_topic_0000001209019195_p7966738914"></a><a name="zh-cn_topic_0000001209019195_p7966738914"></a>参数名</p> 26 </th> 27 <th class="cellrowborder" valign="top" width="13.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209019195_p296713699"><a name="zh-cn_topic_0000001209019195_p296713699"></a><a name="zh-cn_topic_0000001209019195_p296713699"></a>类型</p> 28 </th> 29 <th class="cellrowborder" valign="top" width="10.67%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209019195_p196718315911"><a name="zh-cn_topic_0000001209019195_p196718315911"></a><a name="zh-cn_topic_0000001209019195_p196718315911"></a>必填</p> 30 </th> 31 <th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209019195_p9967231197"><a name="zh-cn_topic_0000001209019195_p9967231197"></a><a name="zh-cn_topic_0000001209019195_p9967231197"></a>说明</p> 32 </th> 33 </tr> 34 </thead> 35 <tbody><tr id="zh-cn_topic_0000001209019195_row99671533914"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p79671633910"><a name="zh-cn_topic_0000001209019195_p79671633910"></a><a name="zh-cn_topic_0000001209019195_p79671633910"></a>name</p> 36 </td> 37 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p11967433914"><a name="zh-cn_topic_0000001209019195_p11967433914"></a><a name="zh-cn_topic_0000001209019195_p11967433914"></a>string</p> 38 </td> 39 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p19671336916"><a name="zh-cn_topic_0000001209019195_p19671336916"></a><a name="zh-cn_topic_0000001209019195_p19671336916"></a>是</p> 40 </td> 41 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p2084833211463"><a name="zh-cn_topic_0000001209019195_p2084833211463"></a><a name="zh-cn_topic_0000001209019195_p2084833211463"></a>要追踪的任务名称</p> 42 </td> 43 </tr> 44 <tr id="zh-cn_topic_0000001209019195_row18967831393"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p16813106387"><a name="zh-cn_topic_0000001209019195_p16813106387"></a><a name="zh-cn_topic_0000001209019195_p16813106387"></a>taskId</p> 45 </td> 46 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p976115416386"><a name="zh-cn_topic_0000001209019195_p976115416386"></a><a name="zh-cn_topic_0000001209019195_p976115416386"></a>number</p> 47 </td> 48 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p149671932919"><a name="zh-cn_topic_0000001209019195_p149671932919"></a><a name="zh-cn_topic_0000001209019195_p149671932919"></a>是</p> 49 </td> 50 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p19675312911"><a name="zh-cn_topic_0000001209019195_p19675312911"></a><a name="zh-cn_topic_0000001209019195_p19675312911"></a>任务id</p> 51 </td> 52 </tr> 53 <tr id="zh-cn_topic_0000001209019195_row1225911163813"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p132250110380"><a name="zh-cn_topic_0000001209019195_p132250110380"></a><a name="zh-cn_topic_0000001209019195_p132250110380"></a>expectedTime</p> 54 </td> 55 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p1622551113381"><a name="zh-cn_topic_0000001209019195_p1622551113381"></a><a name="zh-cn_topic_0000001209019195_p1622551113381"></a>number</p> 56 </td> 57 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p5226151110383"><a name="zh-cn_topic_0000001209019195_p5226151110383"></a><a name="zh-cn_topic_0000001209019195_p5226151110383"></a>否</p> 58 </td> 59 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p22262111381"><a name="zh-cn_topic_0000001209019195_p22262111381"></a><a name="zh-cn_topic_0000001209019195_p22262111381"></a>期望的耗时时间,单位:ms</p> 60 </td> 61 </tr> 62 </tbody> 63 </table> 64 65 > **说明:** 66 >如果多个要追踪任务的name相同,taskId必须不一致。通过name和taskId来唯一标识一个任务。 67 68- 示例: 69 70 ``` 71 bytrace.startTrace("myTestFunc", 1); 72 bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms 73 ``` 74 75 76## bytrace.finishTrace<a name="zh-cn_topic_0000001209019195_section7895134841213"></a> 77 78finishTrace\(name: string, taskId: number\): void 79 80标记一个预追踪耗时任务的结束。 81 82- 参数: 83 84 <a name="zh-cn_topic_0000001209019195_table1589613488127"></a> 85 <table><thead align="left"><tr id="zh-cn_topic_0000001209019195_row208961448131215"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209019195_p1089674831216"><a name="zh-cn_topic_0000001209019195_p1089674831216"></a><a name="zh-cn_topic_0000001209019195_p1089674831216"></a>参数名</p> 86 </th> 87 <th class="cellrowborder" valign="top" width="13.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209019195_p1689613481128"><a name="zh-cn_topic_0000001209019195_p1689613481128"></a><a name="zh-cn_topic_0000001209019195_p1689613481128"></a>类型</p> 88 </th> 89 <th class="cellrowborder" valign="top" width="10.67%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209019195_p989613483125"><a name="zh-cn_topic_0000001209019195_p989613483125"></a><a name="zh-cn_topic_0000001209019195_p989613483125"></a>必填</p> 90 </th> 91 <th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209019195_p13896148111215"><a name="zh-cn_topic_0000001209019195_p13896148111215"></a><a name="zh-cn_topic_0000001209019195_p13896148111215"></a>说明</p> 92 </th> 93 </tr> 94 </thead> 95 <tbody><tr id="zh-cn_topic_0000001209019195_row14896204817125"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p10896174817128"><a name="zh-cn_topic_0000001209019195_p10896174817128"></a><a name="zh-cn_topic_0000001209019195_p10896174817128"></a>name</p> 96 </td> 97 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p189618483125"><a name="zh-cn_topic_0000001209019195_p189618483125"></a><a name="zh-cn_topic_0000001209019195_p189618483125"></a>string</p> 98 </td> 99 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p118961548101215"><a name="zh-cn_topic_0000001209019195_p118961548101215"></a><a name="zh-cn_topic_0000001209019195_p118961548101215"></a>是</p> 100 </td> 101 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p1989674810124"><a name="zh-cn_topic_0000001209019195_p1989674810124"></a><a name="zh-cn_topic_0000001209019195_p1989674810124"></a>要追踪的任务名称</p> 102 </td> 103 </tr> 104 <tr id="zh-cn_topic_0000001209019195_row5896548101211"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p10896164811121"><a name="zh-cn_topic_0000001209019195_p10896164811121"></a><a name="zh-cn_topic_0000001209019195_p10896164811121"></a>taskId</p> 105 </td> 106 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p1789694821215"><a name="zh-cn_topic_0000001209019195_p1789694821215"></a><a name="zh-cn_topic_0000001209019195_p1789694821215"></a>number</p> 107 </td> 108 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p08962488128"><a name="zh-cn_topic_0000001209019195_p08962488128"></a><a name="zh-cn_topic_0000001209019195_p08962488128"></a>是</p> 109 </td> 110 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p8896194831214"><a name="zh-cn_topic_0000001209019195_p8896194831214"></a><a name="zh-cn_topic_0000001209019195_p8896194831214"></a>任务id</p> 111 </td> 112 </tr> 113 </tbody> 114 </table> 115 116 > **说明:** 117 >finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。 118 119- 示例: 120 121 ``` 122 bytrace.finishTrace("myTestFunc", 1); 123 ``` 124 125 126## bytrace.traceByValue<a name="zh-cn_topic_0000001209019195_section1388414179173"></a> 127 128traceByValue\(name: string, count: number\): void 129 130用来标记一个预追踪的数值变量,该变量的数值会不断变化。 131 132- 参数: 133 134 <a name="zh-cn_topic_0000001209019195_table0884617171718"></a> 135 <table><thead align="left"><tr id="zh-cn_topic_0000001209019195_row1188481771714"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209019195_p488419174178"><a name="zh-cn_topic_0000001209019195_p488419174178"></a><a name="zh-cn_topic_0000001209019195_p488419174178"></a>参数名</p> 136 </th> 137 <th class="cellrowborder" valign="top" width="13.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209019195_p12884131721718"><a name="zh-cn_topic_0000001209019195_p12884131721718"></a><a name="zh-cn_topic_0000001209019195_p12884131721718"></a>类型</p> 138 </th> 139 <th class="cellrowborder" valign="top" width="10.67%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209019195_p188481714178"><a name="zh-cn_topic_0000001209019195_p188481714178"></a><a name="zh-cn_topic_0000001209019195_p188481714178"></a>必填</p> 140 </th> 141 <th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209019195_p188411174177"><a name="zh-cn_topic_0000001209019195_p188411174177"></a><a name="zh-cn_topic_0000001209019195_p188411174177"></a>说明</p> 142 </th> 143 </tr> 144 </thead> 145 <tbody><tr id="zh-cn_topic_0000001209019195_row38849172174"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p7884121719172"><a name="zh-cn_topic_0000001209019195_p7884121719172"></a><a name="zh-cn_topic_0000001209019195_p7884121719172"></a>name</p> 146 </td> 147 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p1488415174171"><a name="zh-cn_topic_0000001209019195_p1488415174171"></a><a name="zh-cn_topic_0000001209019195_p1488415174171"></a>string</p> 148 </td> 149 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p7884171711717"><a name="zh-cn_topic_0000001209019195_p7884171711717"></a><a name="zh-cn_topic_0000001209019195_p7884171711717"></a>是</p> 150 </td> 151 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p17884517161715"><a name="zh-cn_topic_0000001209019195_p17884517161715"></a><a name="zh-cn_topic_0000001209019195_p17884517161715"></a>要追踪的数值变量名称</p> 152 </td> 153 </tr> 154 <tr id="zh-cn_topic_0000001209019195_row188419179172"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209019195_p206756457267"><a name="zh-cn_topic_0000001209019195_p206756457267"></a><a name="zh-cn_topic_0000001209019195_p206756457267"></a>count</p> 155 </td> 156 <td class="cellrowborder" valign="top" width="13.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209019195_p9884917111710"><a name="zh-cn_topic_0000001209019195_p9884917111710"></a><a name="zh-cn_topic_0000001209019195_p9884917111710"></a>number</p> 157 </td> 158 <td class="cellrowborder" valign="top" width="10.67%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209019195_p18841217141719"><a name="zh-cn_topic_0000001209019195_p18841217141719"></a><a name="zh-cn_topic_0000001209019195_p18841217141719"></a>是</p> 159 </td> 160 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209019195_p178842174174"><a name="zh-cn_topic_0000001209019195_p178842174174"></a><a name="zh-cn_topic_0000001209019195_p178842174174"></a>变量的值</p> 161 </td> 162 </tr> 163 </tbody> 164 </table> 165 166- 示例: 167 168 ``` 169 let traceCount = 3; 170 bytrace.traceByValue("myTestCount", traceCount); 171 ...... 172 traceCount = 5; 173 bytrace.traceByValue("myTestCount", traceCount); 174 ``` 175 176 177