全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
业务实时监控服务 ARMS

API 使用指南

更新时间:2017-09-01 10:30:25

本文主要介绍前端监控 SDK 的一些接口以及使用场景。

日志上报接口

SDK 开放了部分数据上报的接口,使用户可以在页面中自行调用来上报更多数据。

api() 接口调用成功率上报

此接口用于上报页面的 API 调用成功率,SDK 默认会监听页面的 AJAX 请求并调用此接口上报。如果页面的数据请求方式是 JSONP 或者其它自定义方法(比如客户端 SDK 等),可以在数据请求方法中调用api()方法手动上报。

说明:如果要调用此接口,建议在 SDK 配置项中将disabledHook设置为 true,具体配置请参照 SDK 配置项

调用参数说明:__bl.api(api, success, time, code, msg)

参数 类型 描述 是否必须 默认值
api String 接口名 -
success Boolean 是否调用成功 -
time Number 接口耗时 -
code String/Number 返回码 ‘’
msg String 返回信息 ‘’

示例:

  1. var begin = Date.now(),
  2. url = '/data/getTodoList.json';
  3. $.ajax({
  4. url: url,
  5. data: {id: 123456}
  6. }).done(function (result) {
  7. var time = Date.now() - begin;
  8. // 上报接口调用成功
  9. window.__bl && __bl.api(url, true, time, result.code, result.msg);
  10. // do something ....
  11. }).fail(function (error) {
  12. var time = Date.now() - begin;
  13. // 上报接口调用失败
  14. window.__bl && __bl.api(url, false, time, 'ERROR', error.message);
  15. // do something ...
  16. });

error() 错误信息上报

此接口用于上报页面中的 JS 错误或者使用者想要关注的异常。

一般情况下,SDK 会监听页面全局的 Error 并调用此接口上报异常信息,但由于浏览器的同源策略往往获取不到错误的具体信息,这时就需要使用者手动上报。

调用参数说明:__bl.error(error, pos)

参数 类型 描述 是否必须 默认值
error Error JS 的 Error 对象 -
pos Object 错误发生的位置,包含以下3个属性 -
pos.filename String 错误发生的文件名 -
pos.lineno Number 错误发生的行数 -
pos.colno Number 错误发生的列数 -

示例1:监听页面的 JS Error 并上报

  1. window.addEventListener('error', function (ex) {
  2. // 一般事件的参数中会包含pos信息
  3. window.__bl && __bl.error(ex.error, ex);
  4. });

示例2:上报一个自定义的错误信息

  1. window.__bl && __bl.error(new Error('发生了一个自定义的错误'), {
  2. filename: 'app.js',
  3. lineno: 10,
  4. colno: 15
  5. });

其它接口

非日志上报接口,一般用于修改 SDK 的部分设置项。

setConfig() 修改配置项

用于在 SDK 初始完成后重新修改部分配置项,具体配置请参照 SDK 配置项

调用参数说明:__bl.setConfig(next)

参数 类型 描述 是否必须 默认值
next Object 需要修改的配置项以及值 -

示例:修改 disableHook 禁用 API 自动上报

  1. __bl.setConfig({
  2. disableHook: true
  3. });

setPage() 设置当前页面的 page name

用于重新设置页面的 page name(默认会触发重新上报PV)。此接口一般在单页面应用中会用到,更多信息请参考进阶场景介绍

调用参数说明:__bl.setPage(next, sendPv)

参数 类型 描述 是否必须 默认值
page String 新的 page name -
sendPv Boolean 是否上报 PV,默认会上报 true

示例1 :设置当前页面的 page name 为当前的 URL hash,并重新上报 PV

  1. __bl.setPage(location.hash);

示例2 :仅设置当前页面的 page 为’homepage’,但不触发 PV 上报

  1. __bl.setPage('homepage', false);
本文导读目录