diff --git a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-logging.md b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-logging.md index 8be5fe23e2c375fc01002165aff65ce1530e665e..4c8ed67988e5d30c5adcc5532fef02e2b376c0ea 100644 --- a/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-logging.md +++ b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent-logging.md @@ -8,7 +8,7 @@ HiSysEvent打点提供了事件埋点功能,开发者可以通过在关键路 ### 运作机制 -在进行HiSysEvent事件埋点之前,需要先完成HiSysEvent打点配置,具体配置方法请参考[《HiSysEvent打点配置指导》](subsys-dfx-hisysevent-logging-config.md)。 +在进行HiSysEvent事件埋点之前,需要先完成HiSysEvent打点配置,具体配置方法请参考[HiSysEvent打点配置指导](subsys-dfx-hisysevent-logging-config.md)。 ## 开发指导 @@ -18,28 +18,29 @@ HiSysEvent打点提供了事件埋点功能,开发者可以通过在关键路 ### 接口说明 -#### c++接口说明 +#### C++接口说明 -c++事件埋点开发能力如下:HiSysEvent类,具体的API详见接口文档 。 +C++事件埋点开发能力如下:HiSysEvent类,具体的API详见接口文档 。 > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 在OpenHarmony-3.2-Beta3版本中,为避免打点风暴事件引发性能问题,对HiSysEvent打点进行了管控,表1中的HiSysEvent::Write打点API接口被表2中的HiSysEventWrite宏接口取代。HiSysEvent::Write接口已废弃,请使用HiSysEventWrite宏完成HiSysEvent事件打点。 +> +> 在OpenHarmony-3.2-Beta3版本中,为避免打点风暴事件引发性能问题,对HiSysEvent打点进行了管控。表1中的HiSysEvent::Write打点API接口被表2中的HiSysEventWrite宏接口取代。HiSysEvent::Write接口已废弃,请使用HiSysEventWrite宏完成HiSysEvent事件打点。 -**表1** c++事件埋点API接口功能介绍(已废弃) +**表1** C++事件埋点API接口功能介绍(已废弃) | 接口名 | 描述 | -| ------------------------------------------------------------ | ---------------------- | +| ------------------------------------------------------------ | --------------------- | | template<typename... Types> 
static int Write(const std::string &domain, const std::string &eventName, EventType type, Types... keyValues) | 将打点事件数据进行落盘 | -**表2** c++事件埋点API接口功能介绍 +**表2** C++事件埋点API接口功能介绍 | 接口名 | 描述 | -| ------------------------------------------------------------ | ---------------------- | -| HiSysEventWrite(domain, eventName, type, ...) | 将打点事件数据进行落盘| +| ------------------------------------------------------------ | --------------------- | +| HiSysEventWrite(domain, eventName, type, ...) | 将打点事件数据进行落盘 | - **表3** c++事件类型API接口介绍 + **表3** C++事件类型介绍 -| 接口名 | 描述 | -| --------- | ------------ | +| 事件类型 | 描述 | +| --------- | ----------- | | FAULT | 故障类型事件 | | STATISTIC | 统计类型事件 | | SECURITY | 安全类型事件 | @@ -52,17 +53,17 @@ kernel事件埋点开发能力如下: **表4** kernel事件埋点API接口功能介绍 | 接口名 | 描述 | -| ------------------------------------------------------------ | ------------------------------------ | -| struct hiview_hisysevent *hisysevent_create(const char *domain, const char *name, enum hisysevent_type type); | 创建一个事件对象 | -| void hisysevent_destroy(struct hiview_hisysevent *event); | 销毁一个事件对象 | -| int hisysevent_put_integer(struct hiview_hisysevent *event, const char *key, long long value); | 将整数类型的事件参数添加到事件对象 | +| ------------------------------------------------------------ | ----------------------------------- | +| struct hiview_hisysevent *hisysevent_create(const char *domain, const char *name, enum hisysevent_type type); | 创建一个事件对象 | +| void hisysevent_destroy(struct hiview_hisysevent *event); | 销毁一个事件对象 | +| int hisysevent_put_integer(struct hiview_hisysevent *event, const char *key, long long value); | 将整数类型的事件参数添加到事件对象 | | int hisysevent_put_string(struct hiview_hisysevent *event, const char *key, const char *value); | 将字符串类型的事件参数添加到事件对象 | -| int hisysevent_write(struct hiview_hisysevent *event); | 将事件对象数据进行落盘 | +| int hisysevent_write(struct hiview_hisysevent *event); | 将事件对象数据进行落盘 | -**表5** kernel事件类型API接口介绍 +**表5** kernel事件类型介绍 -| 接口名 | 描述 | -| --------- | ------------ | +| 事件类型 | 描述 | +| --------- | ----------- | | FAULT | 故障类型事件 | | STATISTIC | 统计类型事件 | | SECURITY | 安全类型事件 | @@ -70,9 +71,9 @@ kernel事件埋点开发能力如下: ### 开发步骤 -#### c++埋点开发步骤 +#### C++埋点开发步骤 -1. 在需要埋点的地方直接调用埋点接口,并传入相应事件参数即可: +1. 在需要埋点的地方直接调用埋点接口,并传入相应事件参数。 ```c++ HiSysEventWrite(HiSysEvent::Domain::AAFWK, "START_APP", HiSysEvent::EventType::BEHAVIOR, "APP_NAME", "com.ohos.demo"); @@ -80,13 +81,13 @@ kernel事件埋点开发能力如下: #### kernel埋点开发步骤 -1. 根据事件领域、事件名称、事件类型参数,创建一个基础的事件对象: +1. 根据事件领域、事件名称、事件类型参数,创建一个基础的事件对象。 ```c struct hiview_hisysevent *event = hisysevent_create("KERNEL", "BOOT", BEHAVIOR); ``` -2. 将自定义的事件参数,传入到事件对象里: +2. 将自定义的事件参数,传入到事件对象里。 ```c // 添加整数类型参数 @@ -96,13 +97,13 @@ kernel事件埋点开发能力如下: hisysevent_put_string(event, "MSG", "This is a test message"); ``` -3. 在事件对象构建完成后,将事件进行上报: +3. 在事件对象构建完成后,将事件进行上报。 ```c hisysevent_write(event); ``` -4. 事件上报完成后,需要手动将对象销毁: +4. 事件上报完成后,需要手动将对象销毁。 ```c hisysevent_destroy(&event); @@ -110,7 +111,7 @@ kernel事件埋点开发能力如下: #### 事件领域屏蔽的步骤 -1. 在相应的文件中定义名称为“DOMAIN_MASKS”,内容形如“DOMAIN_NAME_1|DOMAIN_NAME_2|...|DOMAIN_NAME_n”,共有三种屏蔽场景: +1. 在相应的文件中定义名称为“DOMAIN_MASKS”,内容形如“DOMAIN_NAME_1|DOMAIN_NAME_2|...|DOMAIN_NAME_n”。共有三种屏蔽场景: - 只屏蔽当前源码文件中的相应事件领域的HiSysEvent打点,在该cpp文件引入hisysevent.h头文件之前定义宏DOMAIN_MASKS即可。 ```c++ @@ -125,7 +126,7 @@ kernel事件埋点开发能力如下: } ``` -- 全局屏蔽相应事件领域的HiSysEvent打点,则在/build/config/compiler/BUILD.gn中定义宏DIMAIN_MASKS即可。 +- 全局屏蔽相应事件领域的HiSysEvent打点,则在/build/config/compiler/BUILD.gn中定义宏DOMAIN_MASKS即可。 ```gn cflags_cc += ["-DDOMAIN_MASKS=\"DOMAIN_NAME_1|DOMAIN_NAME_2|...|DOMAIN_NAME_n\""] ``` @@ -140,17 +141,17 @@ kernel事件埋点开发能力如下: ### 开发实例 -#### c++埋点开发实例 +#### C++埋点开发实例 假设业务模块需要在应用启动时进行埋点来记录应用启动事件,且需要记录应用的包名信息,完整使用示例如下所示: -1. 首先,需要在业务模块的在BUILD.gn里增加HiSysEvent部件依赖: +1. 首先,需要在业务模块的在BUILD.gn里增加HiSysEvent部件依赖。 ```c++ external_deps = [ "hisysevent_native:libhisysevent" ] ``` -2. 在业务模块的应用启动函数StartAbility()中,调用埋点接口并传入对应事件参数: +2. 在业务模块的应用启动函数StartAbility()中,调用埋点接口并传入对应事件参数。 ```c++ #include "hisysevent.h"