1 Star 0 Fork 139

zhanghang133 / hiviewdfx_hisysevent

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh.md 5.04 KB
一键复制 编辑 原始数据 按行查看 历史
liuyifei 提交于 2023-07-12 17:02 . 移除hisysevent_native部件定义

HiSysEvent组件

简介

HiSysEvent提供OpenHarmony埋点接口,通过在关键路径埋点记录系统在运行过程中的重要信息,辅助开发者定位问题,此外还支持开发者将数据上传到云进行大数据质量度量。

图 1 HiSysEvent架构图

目录

/base/hiviewdfx/hisysevent   # hisysevent部件代码
├── adapter                  # 平台适配
│  └── native               # C++适配
├── frameworks               # 框架代码
│  └── native               # 对内部子系统暴露的C++接口
├── interfaces               # 对外接口存放目录
    └── native               # C++接口
        └── innerkits        # 对内部子系统暴露的C++接口

说明

接口说明

C++埋点接口如下:

表 1 HiSysEvent接口介绍

接口名

描述

template<typename... Types> static int Write(const std::string &domain, const std::string &eventName, EventType type, Types... keyValues)

接口功能:记录系统事件。

输入参数:

  • domain:事件的相关领域,需要使用预置领域请参考Domain,可自定义领域。自定义领域长度在16个字符以内,有效的字符是0-9、a-z, A-Z、_,以字母开头。
  • eventName:事件名,长度在32个字符以内,有效的字符是0-9、a-z, A-Z、_,以字母开头。
  • type:事件类型,参考EventType。
  • keyValues:事件参数键值对,支持基本类型、std::string,以及std::vector<基本类型>、std:vector<std::string>。参数名长度在48个字符以内,有效的字符是0-9、a-z, A-Z、_,以字母开头。事件参数键值对的个数不超过128个。

返回值:成功返回0,错误返回小于0的值。

使用说明

C++接口实例

  1. 源代码开发

    在类定义头文件或者类实现源文件中,包含HiSysEvent头文件:

    #include "hisysevent.h"

    假设在业务关注应用启动时间start_app,在业务类实现相关源文件中使用(调用接口埋点):

    HiSysEvent::Write(HiSysEvent::Domain::AAFWK, "start_app", HiSysEvent::EventType::BEHAVIOR, "app_name", "com.demo");
  2. 编译设置,在BUILD.gn里增加子系统SDK依赖:

    external_deps = [ "hisysevent:libhisysevent" ]

相关仓

DFX子系统

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

hiviewdfx_faultloggerd

hiviewdfx_hilog_lite

hiviewdfx_hievent_lite

hiviewdfx_hiview_lite

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

搜索帮助

344bd9b3 5694891 D2dac590 5694891