应用事件记录接口及框架

jacksky
发布于 2021-11-24 18:57
浏览
0收藏

HiAppEvent组件

简介

HiAppEvent为OpenHarmony应用提供事件打点接口,用于帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息,以支撑开发者分析应用的运行情况。

图 1 HiAppEvent架构图应用事件记录接口及框架-鸿蒙开发者社区

目录

/base/hiviewdfx/hiappevent   # hiappevent部件代码
├── frameworks               # 框架代码
│   └── native               # 打点接口的native实现代码
├── interfaces               # 对外接口存放目录
│   └── js                   # js接口
│       └── innerkits        # js接口内部实现代码
│           └── napi         # 基于napi实现的js接口代码
├── test                     # 测试用例代码

编译构建

依赖 Clang 编译器(Clang 8.0.0 )及以上,依赖C++11版本及以上。

说明

接口说明

表 1 JS 打点接口介绍

模块 方法 描述
hiAppEvent write(string eventName, EventType type, object keyValues, AsyncCallback<void> callback): void

接口功能:应用事件异步打点方法,使用callback方式作为异步回调。

输入参数:

  • eventName:事件名称。
  • type:事件类型。
  • keyValues:事件参数键值对,为Json对象类型。
  • callback:回调函数,可以在回调函数中处理接口返回值。返回值为0表示事件参数校验成功,事件正常异步写入事件文件;大于0表示事件存在异常参数,事件在忽略异常参数后再异步写入事件文件;小于0表示事件校验失败,不执行事件异步打点操作。
hiAppEvent write(string eventName, EventType type, object keyValues): Promise<void>

接口功能:应用事件异步打点方法,使用promise方式作为异步回调。

输入参数:同上。

表 2 JS 事件类型枚举——EventType

类型 描述
FAULT 故障类型事件。
STATISTIC 统计类型事件。
SECURITY 安全类型事件。
BEHAVIOR 行为类型事件。

表 3 JS 打点配置接口介绍

模块 方法 描述
hiAppEvent configure(config: ConfigOption): boolean 接口功能:应用事件打点配置方法,可以对打点功能进行自定义配置。
输入参数:
  • config:应用事件打点配置项对象。
返回值:boolean,true表示配置成功,false表示配置失败。

表 4 JS 应用打点配置选项——ConfigOption

参数名 类型 必填 说明
disable boolean 应用打点功能开关。配置值为true表示关闭打点功能,false表示不关闭打点功能。
maxStorage string 打点数据本地存储文件所在目录的配额大小,默认限额为“10M”。所在目录大小超出限额后会对目录进行清理操作,会按从旧到新的顺序逐个删除打点数据文件,直到目录大小不超出限额时停止。

表 5 JS 预定义事件名称常量接口——Event

常量名 类型 描述
USER_LOGIN string 用户登录事件。
USER_LOGOUT string 用户登出事件。
DISTRIBUTED_SERVICE_START string 分布式服务启动事件。

表 6 JS 预定义参数名称常量接口——Param

常量名 类型 描述
USER_ID string 用户自定义ID。
DISTRIBUTED_SERVICE_NAME string 分布式服务名称。
DISTRIBUTED_SERVICE_INSTANCE_ID string 分布式服务实例ID。

使用说明

JS接口实例

源代码开发

引入模块:

import hiAppEvent from '@ohos.hiAppEvent'​

 

应用执行事件打点

// callback方式
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => {
    if (err) {
        // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入
        console.error(`failed to write event because ${err.code}`);
        return;
    }

    // 事件写入正常
    console.log(`success to write event: ${value}`);
});

// Promise方式
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"})
    .then((value) => {
        // 事件写入正常
        console.log(`success to write event: ${value}`);
    }).catch((err) => {
        // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入
        console.error(`failed to write event because ${err.code}`);
    });​

 

应用对打点功能进行自定义配置

// 配置应用事件打点功能开关
hiAppEvent.configure({
    disable: true
})

// 配置事件文件目录存储限额大小
hiAppEvent.configure({
    maxStorage: '100M'
})

 

相关仓

DFX子系统

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

hiviewdfx_faultloggerd

hiviewdfx_hilog_lite

hiviewdfx_hievent_lite

hiviewdfx_hiview_lite

hiviewdfx_hiappevent-master.zip 65.91K 4次下载
已于2021-11-24 18:57:20修改
收藏
回复
举报
回复
    相关推荐