跳到主要内容

request hook和scope

request hook对wx.request 云函数云托管生效。

API

import monitor from './agent/init';

monitor.addActionHook('request', function(params) {
const {info, actionData, scope} = params;
// 修改探针数据项
if (info.response && info.response.data && info.response.data.code === 200) {
actionData.statusCode = 402;
}

// 针对request设置context信息
scope.setContext({
name:1
});
})

params参数说明

  • info:请求信息,对象格式,包含下列属性。

    • type :请求类型,前取值为request(wx.request调用请求)和 wx.cloud(云托管云函数调用)。
    • requestOptions: 请求调用时传入的参数。
    • response:请求回调函数原始实参。
  • actionData 探针统计的数据项对象,可以修改此对象内的属性值来改变探针上传数据的信息, 包含下列属性。

    • method:请求方法。

    • url:URL。

    • start :开始时间。

    • end:结束时间。

    • cbTime :回调时间。

    • duration:请求耗时。

    • statusCode:状态码。

    • failMessage:错误信息。

    注意:一般不建议对actionData内部属性做修改。

  • scope:scope对象,可用于设置请求额外信息(后台目前不支持处理)。

    scope.setContext(key, 'value')
    scope.setContext({
    key1: {key2: 'value2'},
    key3: 'value3'
    })