# HiSysEvent打点指导 - [概述](#section77571101789) - [功能简介](#section123133332175224) - [约束与限制](#section123181432175224) - [开发指导](#section314416685113) - [接口说明](#section13480315886) - [开发实例](#section112771171317) ## 概述 ### 功能简介 HiSysEvent提供OpenHarmony打点接口,通过在关键路径打点记录系统在运行过程中的重要信息,辅助开发者定位问题,此外还支持开发者将数据上传到云进行大数据质量度量。 ### 约束与限制 **HiSysEvent事件打点条件约束:** - 在进行HiSysEvent事件打点之前,需要先完成HiSysEvent打点配置,具体配置方法请参考[《HiSysEvent打点配置指导》](subsys-dfx-hisysevent-logging-config.md)。 ## 开发指导 ### 接口说明 C++打点接口如下: HiSysEvent类,具体的API详见接口文档 。 **表 1** HiSysEvent接口介绍 | 接口名称 | 描述 | | -------- | --------- | | template<typename... Types> static int Write(const std::string &domain, const std::string &eventName, EventType type, Types... keyValues) | 接口功能:记录系统事件。

输入参数:返回值: | **表 2** HiSysEvent::Domain接口介绍 | 成员名称 | 描述 | | -------- | --------- | | static const std::string AAFWK | 元能力子系统 | | static const std::string APPEXECFWK | 用户程序框架子系统 | | static const std::string ACCOUNT | 账号子系统 | | static const std::string ACE | ACE子系统 | | static const std::string AI | AI业务子系统 | | static const std::string BARRIER_FREE | 无障碍软件服务子系统 | | static const std::string BIOMETRICS | 生物特征识别服务子系统 | | static const std::string CCRUNTIME |C/C++运行环境子系统 | | static const std::string COMMUNICATION | 公共通信子系统 | | static const std::string DEVELOPTOOLS | 研发工具链子系统 | | static const std::string DISTRIBUTED_DATAMGR | 分布式数据管理子系统 | | static const std::string DISTRIBUTED_SCHEDULE | 分布式任务调度子系统 | | static const std::string GLOBAL | 全球化子系统 | | static const std::string GRAPHIC | 图形子系统 | | static const std::string HIVIEWDFX | DFX子系统 | | static const std::string IAWARE | 本地资源调度管控子系统 | | static const std::string INTELLI_ACCESSORIES | 智能配件业务子系统 | | static const std::string INTELLI_TV | 智能电视业务子系统 | | static const std::string IVI_HARDWARE | 车机专有硬件服务子系统 | | static const std::string LOCATION | 位置服务子系统 | | static const std::string MSDP | 综合传感处理平台子系统 | | static const std::string MULTI_MEDIA | 媒体子系统 | | static const std::string MULTI_MODAL_INPUT | 多模输入子系统 | | static const std::string NOTIFICATION | 事件通知子系统 | | static const std::string POWERMGR | 电源服务子系统 | | static const std::string ROUTER | 路由器业务子系统 | | static const std::string SECURITY | 安全子系统 | | static const std::string SENSORS | 泛Sensor服务子系统 | | static const std::string SOURCE_CODE_TRANSFORMER | 应用移植子系统 | | static const std::string STARTUP | 启动恢复子系统 | | static const std::string TELEPHONY | 电话服务子系统 | | static const std::string UPDATE | 升级服务子系统 | | static const std::string USB | USB服务子系统 | | static const std::string WEARABLE_HARDWARE | 穿戴专有硬件服务子系统 | | static const std::string WEARABLE_HARDWARE | 穿戴业务子系统 | | static const std::string OTHERS | 其它 | **表 3** HiSysEvent::EventType接口介绍 | 接口名称 | 描述 | | -------- | --------- | | FAULT | 故障类型事件 | | STATISTIC | 统计类型事件 | | SECURITY | 安全类型事件 | | BEHAVIOR | 系统行为事件 | ### 开发实例 C++接口实例 1. 源代码开发 在类定义头文件或者类实现源文件中,包含HiSysEvent头文件: ``` #include "hisysevent.h" ``` 假设在业务关注应用启动时间start\_app,在业务类实现相关源文件中使用(调用接口打点): ``` HiSysEvent::Write(HiSysEvent::Domain::AAFWK, "start_app", HiSysEvent::EventType::FAULT, "app_name", "com.demo"); ``` 2. 编译设置,在BUILD.gn里增加子系统SDK依赖: ``` external_deps = [ "hisysevent_native:libhisysevent" ] ```