配置插件
通过SDK侧配置决定是否开启和关闭这些功能。插件配置属于一次性配置,初始化后修改不再生效。
使用说明
全文的client代表的是SDK实例。
开启插件
默认情况下所有插件都是开启状态。以下为开启Js Error插件的示例配置。
js
client('init', {
...
plugins: {
js_error: true
}
...
})
关闭插件
将插件配置成false则表示关闭插件。以下为关闭Js Error插件的示例配置。
js
client('init', {
...
plugins: {
js_error: false
}
...
})
配置插件
Pageview
页面加载时上报,用于统计PV、UV、页面停留时长。
js
pageview: {
// 路由模式,为 manual 时不上报
routeMode: 'history' | 'manual' = 'history'
// 指定 history 变化时如何从 URL 中提取 pid
extractPid?: (url: string) => string
}
Js Error
发生Js Error、Navigate Error时上报。
js
jsError: {
// 忽略error message匹配得上的错误
ignoreErrors: (string | RegExp)[] = []
// 监听 App.error
hookOnError: boolean = true
// 监听 App.unhandledRejection
hookOnUnhandledRejection: boolean = true
// 监听路由错误
hookRouteError: boolean = true
// 对比前后发生的相同错误并且去重
dedupe: boolean = true
}
Breadcrumb
收集http、路由切换信息,并在Js Error上报时一并上报。
js
breadcrumb: {
// 最多保留面包屑数量
maxBreadcrumbs?: number = 20
// 新增面包屑时调用的钩子
onAddBreadcrumb?: (b: Breadcrumb) => Breadcrumb | false
// 面包屑存满时调用的钩子
onMaxBreadcrumbs?: (bs: Breadcrumb[], maxBreadcrumbs: number) => Breadcrumb[]
}
Http
调用request、downloadFile、uploadFile时上报。
js
http: {
// whether to intercept instance.request
hookRequest: boolean = true
// whether to intercept instance.downloadFile
hookDownloadFile: boolean = true
// whether to intercept instance.uploadFile
hookUploadFile: boolean = true
// ignore the urls or RegExps passed in
ignoreUrls: (string | RegExp)[] = ['slardar 自身上报地址']
// whether to gather request.body and response.body when response.statusCode >= 400
collectBodyOnError: boolean = false
// developer can extract extra with response.body and httpPayload.if the value returned wasn't undefined or null, it would be set to extra and is_custom_error would be set to true
extraExtractor?: (body: string | any, related: HttpPayload) => { [key: string]: string } | false
}
setData
调用setData时上报,默认将计算参数大小改为false,由于setData调用较为频繁,所以开启后可能会对页面性能造成一些小波动。
js
setData: {
// 是否计算 setData 传入参数的大小
isCalculateSize: boolean = false
}
App Launch Perf
收集启动性能,并在启动完成后上报,没有额外配置项。
js
// 无需配置,默认开启,如需关闭,请设置为false
appLaunchPerf: {}
Page Perf
收集页面性能,在切换页面后且页面加载完后上报,没有额外配置项。
js
// 无需配置,默认开启,如需关闭,请设置为false
pagePerf: {}
Performance
收集单性能指标,例如:FR、FP、FCP、LCP,目前只有微信、抖音小程序的部分机型能被获取到,没有额外配置项。
js
// 无需配置,默认开启,如需关闭,请设置为false
performance: {}