APM - Insight 小程序 SDK
使用方式
在 app.js
中初始化:
import $$Rangers from './vender/rangers'
import Rangers from '@apm-insight-web/rangers-mini-sdk'
Rangers.init({
aid: 111,
finderInstance: $$Rangers,
userId: 'xxx',
...
})
App({
onLaunch() {
setTimeout(() => {
Rangers.capture(new Error('oops'))
}, 1000)
...
}
...
})
API
-
init
初始化,只能调用一次
{
aid: number,
finderInstance?: DataFinderInstance
userId?: string
context?: {
[key: string]: any
}
}
-
config
修改配置
{
userId?: string
context?: {
[key: string]: any
}
}
-
report
发送自定义事件(暂不支持)
-
capture
手动捕获异常上报
-
addBreadcrumb
手动记录用户行为(暂不支持)
-
sendNow
立刻发送上报请求(清空批量上报队列)
-
context
快速修改 context
Rangers.config('context', {
foo: 'bar',
})
Rangers.context.get('foo')
Rangers.context.set('foo2', 'bar').delete('foo').set('bar', 'foo')
Rangers.context.toObject()
- 最终上报时
context
将会被序列化为 Record<string, string>
类型
事件
PageView
当 Page.onShow
回调时触发JsError
当 App.onError
| App.onUncaughtRejection
(必须有 reason) 回调时触发,或者手动捕获
数据结构
面包屑 Breadcrumb
用于记录用户行为轨迹
enum BreadcrumbType {
DOM = 'dom',
HTTP = 'http',
}
enum BreadcrumbCategory {
ROUTE = 'route',
}
interface Breadcrumb {
type: BreadcrumbType
level?: string
category?: BreadcrumbCategory
message?: string
timestamp: number
}
一个路由变化面包屑
{
"type": "dom",
"category": "route",
"message": "pages/index/index",
"timestamp": 1606310419183
}