新时代监控系统中必不可少的基础功能-观测云

观测云用户体验中的基础功能(自定义tag、错误、事件)

存在一些特定场景,需要通过设置不同类型的标识去定位分析一些数据,所以针对这些情况,RUM SDK 提供了一些特定的API 方便用户在自己的应用系统中,加入自己特定的逻辑:

  1. 自定义标识用户(ID、name、email)
  2. 自定义添加额外的数据 TAG
  3. 自定义添加 Action
  4. 自定义添加 Error

Rum自定义用户

自定义标识用户

SDK 默认情况下,自动会给用户生成一个唯一标识ID。这个ID不带任何标识属性,只能区别出不同用户属性。 为此我们提供了额外的API去给当前用户添加不同的标识属性。

属性 类型 描述
user.id string 用户ID

以下属性是可选的,但建议至少提供其中一个。

添加用户标识

javascript 复制代码
window.DATAFLUX_RUM && window.DATAFLUX_RUM.setUser({
    id: '1234',
})

自定义添加额外的数据 TAG

初始化 RUM 后,使用addRumGlobalContext(key:string,value:any) API 向从应用程序收集的所有 RUM 事件添加额外的TAG。

添加TAG

javascript 复制代码
// Code example
window.DATAFLUX_RUM && window.DATAFLUX_RUM.addRumGlobalContext('isvip', 'xxxx');
window.DATAFLUX_RUM && window.DATAFLUX_RUM.addRumGlobalContext('activity', {
    hasPaid: true,
    amount: 23.42
});

替换TAG

css 复制代码
// Code example
window.DATAFLUX_RUM &&
    DATAFLUX_RUM.setRumGlobalContext({
        codeVersion: 34,
    });

自定义添加 Action

初始化 RUM 后,使用addAction('<NAME>','<JSON_OBJECT>') API,可以自定义添加采集之外的action 指标数据。

php 复制代码
// Code example
window.DATAFLUX_RUM && window.DATAFLUX_RUM.addAction('cart', {
    amount: 42,
    nb_items: 2,
    items: ['socks', 't-shirt'],
});

自定义添加 Error

初始化 RUM 后,使用addError('<NAME>','<JSON_OBJECT>') API,可以自定义添加采集之外的 error 指标数据。

添加Error

vbnet 复制代码
// Send a custom error with context
const error = new Error('Something wrong occurred.');

window.DATAFLUX_RUM && DATAFLUX_RUM.addError(error, {
    pageStatus: 'beta',
});
相关推荐
懒大王爱吃狼1 小时前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
逐·風5 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫5 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
尚梦6 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子6 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山7 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
毕业设计制作和分享7 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
清灵xmf9 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
大佩梨9 小时前
VUE+Vite之环境文件配置及使用环境变量
前端
GDAL9 小时前
npm入门教程1:npm简介
前端·npm·node.js