• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Hitrace
2
3
4## 概述
5
6hiTraceMeter为开发者提供系统性能打点接口。
7
8开发者通过在自己的业务逻辑中的关键代码位置调用HiTraceMeter系统跟踪提供的API接口,能够有效进行关键执行流程耗时度量和问题定位。
9
10\@syscap SystemCapability.HiviewDFX.HiTrace
11
12**起始版本:**
13
1410
15
16
17## 汇总
18
19
20### 文件
21
22| 名称 | 描述 |
23| -------- | -------- |
24| [trace.h](trace_8h.md) | HiTraceMeter模块打点接口定义,通过这些接口实现性能打点相关功能。 <br>**引用文件**:<hitrace/trace.h> <br>**库**:libhitrace_ndk.z.so|
25
26### 函数
27
28| 名称 | 描述 |
29| -------- | -------- |
30| [OH_HiTrace_StartTrace](#oh_hitrace_starttrace) (const char \*name) | 标记一个同步跟踪耗时任务的开始。 |
31| [OH_HiTrace_FinishTrace](#oh_hitrace_finishtrace) (void) | 标记一个同步跟踪耗时任务的结束。 |
32| [OH_HiTrace_StartAsyncTrace](#oh_hitrace_startasynctrace) (const char \*name, int32_t taskId) | 标记一个异步跟踪耗时任务的开始。 |
33| [OH_HiTrace_FinishAsyncTrace](#oh_hitrace_finishasynctrace) (const char \*name, int32_t taskId) | 标记一个异步跟踪耗时任务的结束。 |
34| [OH_HiTrace_CountTrace](#oh_hitrace_counttrace) (const char \*name, int64_t count) | 用于跟踪给定整数变量名和整数值。 |
35
36
37## 函数说明
38
39
40### OH_HiTrace_CountTrace()
41
42
43```
44void OH_HiTrace_CountTrace (const char * name, int64_t count )
45```
46
47**描述:**
48
49用于跟踪给定整数变量名和整数值。
50
51多次执行该接口可以跟踪给定整数变量在不同时刻的数值变化。
52
53**参数:**
54
55| 名称 | 描述 |
56| -------- | -------- |
57| name | 整数变量跟踪的名字,不必与真实变量名相同。 |
58| count | 整数数值,一般可以传入整数变量。 |
59
60**起始版本:**
61
6210
63
64
65### OH_HiTrace_FinishAsyncTrace()
66
67
68```
69void OH_HiTrace_FinishAsyncTrace (const char * name, int32_t taskId )
70```
71
72**描述:**
73
74标记一个异步跟踪耗时任务的结束。
75
76在异步操作完成后如回调函数中调用,进行结束打点。 和OH_HiTrace_StartAsyncTrace配对使用,参数name和taskId必须与异步跟踪的开始打点接口OH_HiTrace_StartAsyncTrace的对应参数值一致。
77
78**参数:**
79
80| 名称 | 描述 |
81| -------- | -------- |
82| name | 异步跟踪的名字。 |
83| taskId | 异步跟踪的ID。异步跟踪开始和结束由于不是顺序发生的,所以需要通过name和每次执行唯一的taskId进行开始和结束的匹配。 |
84
85**起始版本:**
86
8710
88
89
90### OH_HiTrace_FinishTrace()
91
92
93```
94void OH_HiTrace_FinishTrace (void )
95```
96
97**描述:**
98
99标记一个同步跟踪耗时任务的结束。
100
101必须和OH_HiTrace_StartTrace配对使用。跟踪数据解析时,和其前执行流程中最近的OH_HiTrace_StartTrace进行匹配。
102
103**起始版本:**
104
10510
106
107
108### OH_HiTrace_StartAsyncTrace()
109
110
111```
112void OH_HiTrace_StartAsyncTrace (const char * name, int32_t taskId )
113```
114
115**描述:**
116
117标记一个异步跟踪耗时任务的开始。
118
119用于在异步操作前调用进行开始打点,异步跟踪开始和结束数据由于不是顺序发生的,所以解析时需要通过一个唯一的taskId进行识别,这个taskId作为异步接口的参数传入。 和OH_HiTrace_FinishAsyncTrace配对使用,参数name和taskId相同的这两个接口调用匹配成一个异步跟踪耗时任务。 如果有多个相同name的任务需要跟踪或者对同一个任务跟踪多次,并且任务同时被执行,则每次调用startTrace的taskId不相同。 如果具有相同name的任务是串行执行的,则taskId可以相同。
120
121**参数:**
122
123| 名称 | 描述 |
124| -------- | -------- |
125| name | 异步跟踪的名字。 |
126| taskId | 异步跟踪的ID。 异步跟踪开始和结束由于不是顺序发生的,所以需要通过name和每次执行唯一的taskId进行开始和结束的匹配。 |
127
128**起始版本:**
129
13010
131
132
133### OH_HiTrace_StartTrace()
134
135
136```
137void OH_HiTrace_StartTrace (const char * name)
138```
139
140**描述:**
141
142标记一个同步跟踪耗时任务的开始。
143
144同步跟踪打点接口OH_HiTrace_StartTrace和OH_HiTrace_FinishTrace必须配对使用。 OH_HiTrace_StartTrace和OH_HiTrace_FinishTrace函数对可以以嵌套模式使用,跟踪数据解析时使用栈式数据结构进行匹配。
145
146**参数:**
147
148| 名称 | 描述 |
149| -------- | -------- |
150| name | 跟踪的名字。 |
151
152**起始版本:**
153
15410
155