hiviewdfx_hitrace/README_zh.md
xuyong b86edacce9 更新README文档
Signed-off-by: xuyong <xuyong59@huawei.com>
2022-02-25 11:37:30 +08:00

6.7 KiB
Raw Permalink Blame History

HiTrace组件

简介

HiTrace在OpenHarmony中为开发者提供业务流程调用链跟踪的维测接口。通过使用该接口所提供的功能可以帮助开发者迅速获取指定业务流程调用链的运行日志、定位跨设备/跨进程/跨线程的故障问题。

组件框架

图 1 组件框架图

HiTrace实现机制

  • 基于云计算分布式调用链思想的轻量级实现。
  • 在跨设备/跨进程/跨线程的通信机制中传递traceid。
  • 在进程Native层TLSThread 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内容。

输入参数:

idHiTraceId对象

输出参数:无

返回值:无

相关仓

DFX子系统

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent