# HiTrace组件 - [简介](#section11660541593) - [组件框架](#section16334748141112) - [目录](#section161941989596) - [约束](#section119744591305) - [说明](#section1312121216216) - [接口说明](#section1551164914237) - [使用说明](#section129654513264) - [相关仓](#section1371113476317) ## 简介 HiTrace在OpenHarmony中,为开发者提供业务流程调用链跟踪的维测接口。通过使用该接口所提供的功能,可以帮助开发者迅速获取指定业务流程调用链的运行日志、定位跨设备/跨进程/跨线程的故障问题。 ## 组件框架 **图 1** 组件框架图 ![](figures/zh-cn_image_0000001123644797.png) HiTrace实现机制: - 基于云计算分布式调用链思想的轻量级实现。 - 在跨设备/跨进程/跨线程的通信机制中传递traceid。 - 在进程Native层TLS(Thread Local Storage)中存储traceid。 - 在事件、运行日志中自动附加traceid。 ## 目录 ``` /base/hiviewdfx/hitrace ├── frameworks # 框架代码 │ └── native # HiTrace native实现代码 ├── interfaces # 接口 │ └── js # js接口 │ └── kits # js接口内部实现代码 │ └── native # C/C++接口 │ └── innerkits # 对内部子系统暴露的头文件 └── test # 测试用例代码 ``` ## 约束 系统通用的通信机制\(IPC, EventHandler\)已支持HiTrace机制, 对业务自定义通信机制需要适配HiTrace机制。 ## 说明 ### 接口说明 C++主要接口:

方法

描述

HiTrace

HiTraceId begin(String name, int flags)

功能:启动Hitrace跟踪,生成HiTraceId对象并设置到当前线程TLS中。

输入参数:

name:业务流程名称。

flags:跟踪指示位,可以组合使用,具体含义为:

HITRACE_FLAG_INCLUDE_ASYNC:同时跟踪同步调用和异步调用,缺省只跟踪同步调用。

HITRACE_FLAG_DONOT_CREATE_SPAN:不创建子分支,缺省创建子分支。

HITRACE_FLAG_TP_INFO:输出tracepoint信息,缺省不输出。

HITRACE_FLAG_NO_BE_INFO:不输出起始、结束信息,缺省输出。

HITRACE_FLAG_DONOT_ENABLE_LOG:不与日志关联输出,缺省关联。

HITRACE_FLAG_FAULT_TRIGGER:故障触发的跟踪,缺省为正常启动的。

HITRACE_FLAG_D2D_TP_INFO:输出设备间tracepoint信息,缺省不输出。

HITRACE_FLAG_DEFAULT: 缺省标志。

输出参数:无

返回值:启动跟踪超过返回有效HiTraceId对象,否则返回无效对象。

注意:嵌套启动跟踪时,内层启动调用返回无效对象。

void end(HiTraceId id)

功能:根据begin返回的HiTraceId停止HiTrace跟踪;清除当前线程TLS中HiTraceId内容。

输入参数:

id:HiTraceId对象

输出参数:无

返回值:无

## 相关仓 [DFX子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DFX%E5%AD%90%E7%B3%BB%E7%BB%9F.md) [hiviewdfx\_hiview](https://gitee.com/openharmony/hiviewdfx_hiview/blob/master/README_zh.md) [hiviewdfx\_hilog](https://gitee.com/openharmony/hiviewdfx_hilog/blob/master/README_zh.md) [hiviewdfx\_hiappevent](https://gitee.com/openharmony/hiviewdfx_hiappevent/blob/master/README_zh.md) [hiviewdfx\_hisysevent](https://gitee.com/openharmony/hiviewdfx_hisysevent/blob/master/README_zh.md)