接口说明
设置用户ID
通过设置「用户标识」在基调听云平台通过该标识进行检索具体用户的性能数据
- 接口
// username: 用户名,字符串类型。长度限制:
tingyun.setUid(username)
- 示例
import tingyun from '@/agent/init'
// ...
tingyun.setUid('<用户id>')
Vue路由监控
- 接口
// router VueRouter实例对象
tingyun.wrapVueRouter(router);
- 示例:
// 引入探针
import tingyun from '@/agent/init'
import App from '@/App.vue'
import Home from '@/routes/Home.vue'
import About from '@/routes/About.vue'
import VueRouter from 'vue-router';
Vue.use(VueRouter)
const router = new VueRouter({
mode: 'abstract',
routes: [
{ path: '/', redirect: '/home' },
{ path: '/home', component: Home },
{ path: '/about', component: About }
]
})
// 调用wrapVueRouter接口传入路由对象
tingyun.wrapVueRouter(router)
new Vue({
el: '#root',
router: router,
render: h => h(App),
})
JS错误上报
使用该接口可以将触发的 JS 错误上传至基调听云平台,以便研发人员收集和排查 JS 错误。
探针默认会对Vue.config.errorHandler的触发进行监控并上报JS错误。如果项目本身也注册了Vue.config.errorHandler, 当errorHandler在入口文件同步注册时,通常情况下探针可以自动监控「自动监控时需确认 Vue.config.errorHandler 监控有效」。但当errorHandler注册时机较晚时, 探针自动监控会失效,此时,需要在自定义的errorHandler中使用探针API captureException手动上报。
- 接口
tingyun.captureException(err[, options])
参数:
-
err: 错误对象
- message:错误信息 可选
- stack:错误堆栈 可选
- fileName: string 指定错误文件名,可选, 不传自动从stack解析
- lineNumber: number 指定错误行号,可选, 不传自动从stack解析
- columnNumber: number 指定错误列号,可选, 不传自动从stack解析
-
options: 额外选项。对象类型。可选
- contexts: 额外附加数据。对象类型。可选
- breadcrumbs: 面包屑数据。数组。可选
数据项类型说明
- timestamp: number 毫秒时间戳,必须
- type: string 类型,必须
- category: string 分类,必须
- level: string 等级, 必须
- message: string 信息,可选
- data: object 附加数据,可选
- category:错误类型。可选。取值: js(JS错误, 默认)或other(其他错误)
-
示例
-
自定义errorHandler上报 JS 错误
- 在自定义的errorHandler内上报JS错误
Vue.config.errorHandler = function (err) {
// 上报错误
tingyun.captureException(err)
}
- 关闭JS错误自动监控开关,防止重复监控
agent/init.js:
tingyun.init({
// ...
jsError: {
// 关闭JS错误自动监控
enabled: false
}
})
- 手动上报错误
部分JS错误触发后,不会触发
Vue.config.errorHandler, 此时可以手动上报JS错误
import tingyun from '@/agent/init'
// ...
try {
// ...
} catch(e) {
tingyun.captureException(e)
}