关于鸿蒙系统的HiSysEvent组件你了解多少?-鸿蒙开发者社区-51CTO.COM

关于鸿蒙系统的HiSysEvent组件你了解多少?

星蔚星
发布于 2021-9-26 17:38
浏览
1收藏

简介

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

图 1 HiSysEvent架构图

关于鸿蒙系统的HiSysEvent组件你了解多少?-鸿蒙开发者社区

目录

/base/hiviewdfx/hisysevent   # hisysevent部件代码
├── 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,以字母开头。eventName:事件名,长度在32个字符以内,有效的字符是0-9、a-z、A-Z、,以字母开头,不能以_结尾。type:事件类型,参考EventType。keyValues:事件参数键值对,支持基本的数据类型、std::string,以及std::vector<基本类型>、std:vectorstd::string。参数名长度在48个字符以内,有效的字符是0-9、a-z、A-Z、,以字母开头,不能以_结尾。参数名的个数在32个以内。返回值:成功返回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_native:libhisysevent" ]
    

相关仓

DFX子系统
hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

hiviewdfx_faultloggerd

hiviewdfx_hilog_lite

hiviewdfx_hievent_lite

hiviewdfx_hiview_lite

hiviewdfx_hisysevent-master.zip 43.72K 26次下载
已于2021-9-26 17:38:30修改
1
收藏 1
回复
举报
回复
    相关推荐