@heimdallr-sdk/browser
浏览器监控基座,内置错误捕获sdk
可捕获错误类型
- js错误
- 资源加载错误
- unhandledrejection
默认使用 sendBeaconAPI (post)上报
Options
配置名称 | 类型 | 描述 | 可选值 | 默认值 |
---|---|---|---|---|
dsn | Object | 上报接口配置信息 | DSN | - |
app | Object | 应用信息 | APPInfo | - |
enabled | Boolean | 是否向后台发送事件 | true/false | true |
maxBreadcrumbs | Number | 面包屑最大层级 | - | 5 |
userIdentify | Customer | 用户标识 | - | - |
plugins | Array | 插件集合 | - | - |
debug | Boolean | 控制台是否显示sdk输出信息 | true/false | false |
DSN
名称 | 类型 | 描述 | 可选值 |
---|---|---|---|
host | String | 上报接口域名地址 | - |
init | String | 应用初始化接口地址 | - |
report | String | 信息上报接口地址 | - |
APPInfo
名称 | 类型 | 描述 | 可选值 |
---|---|---|---|
name | String | 应用名称 | - |
leader | String | 负责人 | - |
desc | String | 应用描述 | - |
Customer
名称 | 类型 | 描述 | 可选值 |
---|---|---|---|
name | string | 业务字段名称(支持点运算符读取,cookie除外) | - |
position | string | 存储位置 | local/session/cookie/global |
Usage
cdn
html
<script>
window.__HEIMDALLR_OPTIONS__ = {
dsn: {
host: 'localhost:8888',
init: '/project/init',
report: '/log/report'
},
app: {
name: 'playgroundAPP',
leader: 'test',
desc: 'test proj'
},
userIdentify: {
name: '__state__.a.0.user.id', // window.__state__ = { a: [{ user: { id:'123' } }] }
position: 'global'
}
};
</script>
<script async src="/browser-dist/browser.iife.js"></script>
npm
js
import heimdallr from "@heimdallr-sdk/browser";
heimdallr({
dsn: {
host: 'localhost:8888',
init: '/project/init',
report: '/log/report'
},
app: {
name: 'playgroundAPP',
leader: 'test',
desc: 'test proj'
},
userIdentify: {
name: '__state__.a.0.user.id', // window.__state__ = { a: [{ user: { id:'123' } }] }
position: 'global'
}
});
上报数据
应用初始化
字段名称 | 描述 |
---|---|
id | 应用id |
name | 应用名称 |
leader | 负责人 |
desc | 应用描述 |
日志上报
字段名称 | 描述 | 特有 |
---|---|---|
aid | 应用id | - |
sid | 会话id | - |
uid | 独立用户id | - |
p | 平台 | - |
ttl | 页面标题 | 页面加载 |
url | 页面路径 | - |
lan | 语言 | 页面加载 |
ua | User-agent | 页面加载 |
ws | 窗口分辨率 | 页面加载 |
ds | 文档分辨率 | 页面加载 |
lid | 日志id | - |
t | 时间戳 | - |
e | 日志类型 | - |
b | 面包屑 | 页面卸载 |
dat | 日志详情(插件不同有差异,都带有日志子类型) | - |
平台类型
值 | 描述 |
---|---|
1 | 浏览器 |
2 | 微信小程序 |
3 | Node |
日志类型
值 | 描述 |
---|---|
1 | 生命周期 |
2 | 异常 |
3 | 性能 |
4 | 请求 |
5 | 节点操作 |
6 | 路由 |
7 | 控制台输出 |
8 | 录屏 |
9 | Vue |
10 | 自定义 |
日志子类型
以下为提供的内置类型,可自由扩展
值 | 描述 |
---|---|
11 | 页面加载 |
12 | 页面卸载 |
21 | js 异常 |
22 | 资源加载异常 |
23 | 未捕获 reject 异常 |
24 | 页面崩溃 |
31 | FMP |
32 | FPS |
33 | 性能基础参数 |
34 | VITALS |
35 | 资源加载情况 |
41 | XMLHttpRequest 请求 |
42 | fetch 请求 |
51 | 页面点击 |
61 | hash路由跳转 |
62 | history路由跳转 |
111 | 自定义类型 |