1 Star 0 Fork 141

钟柠 / hiviewdfx_hitrace

forked from OpenHarmony / hiviewdfx_hitrace 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh.md 6.72 KB
一键复制 编辑 原始数据 按行查看 历史
honghecun 提交于 2022-02-25 11:37 . 更新README文档

HiTrace组件

简介

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

组件框架

图 1 组件框架图

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子系统

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhong-ning1/hiviewdfx_hitrace.git
git@gitee.com:zhong-ning1/hiviewdfx_hitrace.git
zhong-ning1
hiviewdfx_hitrace
hiviewdfx_hitrace
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891