回复
     应用事件记录接口及框架
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 打点接口介绍
表 2 JS 事件类型枚举——EventType
| 类型 | 描述 | 
|---|---|
| FAULT | 故障类型事件。 | 
| STATISTIC | 统计类型事件。 | 
| SECURITY | 安全类型事件。 | 
| BEHAVIOR | 行为类型事件。 | 
表 3 JS 打点配置接口介绍
| 模块 | 方法 | 描述 | 
| hiAppEvent | configure(config: ConfigOption): boolean | 接口功能:应用事件打点配置方法,可以对打点功能进行自定义配置。 输入参数: 
  | 
表 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 8次下载  
已于2021-11-24 18:57:20修改
 
        赞
        
 
        收藏 
      
 回复
  相关推荐
 



















