错误监控
React Native 端 SDK 收集 JS 错误,未被 catch 的 Promise 异常。
JS 错误

Promise 异常

页面访问
RUM Pro 的 React Native 端 SDK 基于 React Navigation 库以及 React Native Navigation 库实现对应的页面访问功能,您可以在 终端性能监控 Pro > 日志 页面查看异常信息以及异常堆栈。
React Navigation
使用 containerRef.addListener("state")监听路由变换,根据 getCurrentRoute().name 获得页面名称。
React Native Navigation
使用 Navigation.events().registerComponentDidAppearListener 监听路由变换,根据 componentName 获得页面名称。

自定义上报
React Native SDK 提供了丰富的自定义上报接口供用户使用。
自定义日志上报
info、error
这两个方法是 SDK 提供的主要的自定义日志上报手段,使用方法如下:
Aegis.info('上报一条日志');Aegis.error('上报一条错误日志');// 也可以上报下边的日志格式Aegis.info({msg: 'xxx', // 推荐设置,不设置,上报的 message 为空。[key: string]: any,});// 上报错误日志,错误级别为 custom_errorAegis.error({msg: '错误日志信息', // 推荐设置,不设置,上报的 message 为空。[key: string]: any,});

自定义事件上报
reportEvent
该方法可用来上报自定义事件,平台将会自动统计上报事件的各项指标,例如 PV、平台分布等。reportEvent 可以支持两种上报参数类型:
字符串类型。
aegis.reportEvent('XXX请求成功');
对象类型,用户可以上传自定义字段。
Aegis.reportEvent({name: 'XXX请求成功', // 必填[key: string]: any,})
注意:
自定义事件上报,默认日志类型 {level: "info", type: "custom_event"}。

自定义测速上报
自定义测速是用户上报任意值,服务端对其进行统计和计算,因为服务端不能做脏数据处理,因此建议用户在上报端进行统计值限制,防止脏数据对整体产生影响。
目前 Aegis 只支持0 - 60000的数值计算,如果大于该值,建议进行合理改造。
高频率的自定义测速上报尽量使用 reportTime。time 和 timeEnd 上报会存在上报值覆盖的问题。例如 aegis.time(aaa),在调用 aegis.timeEnd(aaa) 之前,又调用了一次 aegis.time(aaa),则上报的时间为 timeEnd 时间 - 第二次 time 的时间。
reportTime
该方法可用来上报自定义测速,例如:
// 假如‘onload’的时间是1saegis.reportTime('onload', 1000);
或者如果需要使用额外参数,可以传入自定义字段:
aegis.reportTime({name: 'onload', // 自定义测速名称duration: 1000, // 自定义测速耗时(0 - 60000)[key: string]: any,});
time、timeEnd
该方法同样可用来上报自定义测速,适用于两个时间点之间时长的计算并上报,例如:
aegis.time('complexOperation');/*** .* .* 做了很久的复杂操作之后。。。* .* .*/aegis.timeEnd('complexOperation'); /* 此时日志已经报上去了 */
