详谈鸿蒙系统中的HiAppEvent组件

风在云颠
发布于 2021-9-7 21:20
浏览
0收藏

简介

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

图 1 HiAppEvent架构图
详谈鸿蒙系统中的HiAppEvent组件-鸿蒙开发者社区

目录

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

编译构建

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

说明

接口说明

表 1 Js打点接口介绍

模块 方法 描述
hiappevent write(string eventName, EventType type, any… keyValues, function callback) 接口功能:应用事件异步打点方法。输入参数:eventName:事件名称。type:事件类型。keyValues:事件参数键值对,为变长参数类型。callback:回调函数,可以在回调函数中处理接口返回值。返回值为0表示事件参数校验成功,事件正常异步写入事件文件;大于0表示事件存在异常参数,事件在忽略异常参数后再异步写入事件文件;小于0表示事件校验失败,不执行事件异步打点操作。
hiappevent writeJson(string eventName, EventType type, object jsonObj, function callback) 接口功能:应用事件异步打点方法。输入参数:eventName:事件名称。type:事件类型。keyValues:事件参数键值对,为Json对象类型。callback:回调函数,可以在回调函数中处理接口返回值。返回值为0表示事件参数校验成功,事件正常异步写入事件文件;大于0表示事件存在异常参数,事件在忽略异常参数后再异步写入事件文件;小于0表示事件校验失败,不执行事件异步打点操作。

使用说明

Js接口实例

  1. 源代码开发

    引入模块:

    import hiappevent from '@ohos.hiappevent'
    
  2. 应用执行事件打点

    // 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}`);
        });
    
    // callback方式
    hiappevent.writeJson("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.writeJson("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}`);
        });
    

相关仓

DFX子系统

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

hiviewdfx_faultloggerd

hiviewdfx_hilog_lite

hiviewdfx_hievent_lite

hiviewdfx_hiview_lite

hiviewdfx_hiappevent-master.zip 55.42K 8次下载
已于2021-9-7 21:20:54修改
收藏
回复
举报
回复
    相关推荐