# 获取性能数据

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:getPerformance

该接口用于获取性能数据

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/wxaapi/log/get_performance?access_token=ACCESS_TOKEN

支持加密请求: 本接口支持服务通信二次加密和签名,可有效防止数据篡改与泄露。查看详情

# 云调用

  • 本接口不支持云调用

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:18

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 access_tokenauthorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
cost_time_typenumber可选值 1(启动总耗时), 2(下载耗时),3(初次渲染耗时)
default_start_timenumber查询开始时间
default_end_timenumber查询结束时间
devicestring系统平台,可选值 "@_all:"(全部),1(IOS), 2(android)
is_download_codestring是否下载代码包,当 type 为 1 的时候才生效,可选值 "@_all:"(全部),1(是), 2(否)
scenestring访问来源,当 type 为 1 或者 2 的时候才生效,通过 getSceneList 接口获取
networktypestring网络环境, 当 type 为 2 的时候才生效,可选值 "@_all:",wifi, 4g, 3g, 2g

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
default_time_datastring错误查询数据(json字符串,结构如下所述的 strbody)
compare_time_datastring比较数据

# 4. 注意事项

# strbody 的结构

属性 类型 说明
ref_date string 日期
cost_time_type number 意思同参数里面的 cost_time_type
cost_time number 耗时(毫秒)

# 5. 代码示例

# 5.1 HTTPQ请求示例

请求示例

{
  "cost_time_type": 2,
  "default_start_time": 1572339403,
  "default_end_time": 1574931403,
  "device": "@_all",
  "networktype": "@_all",
  "scene": "@_all",
  "is_download_code": "@_all"
}

返回示例

{
  "default_time_data": "{\"list\":[{\"ref_date\":\"20191029\",\"cost_time_type\":2,\"cost_time\":1533},{\"ref_date\":\"20191030\",\"cost_time_type\":2,\"cost_time\":1682}]}",
  "compare_time_data": "",
  "errcode": 0
}

# 5.2 云函数调用示例

请求示例

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.operation.getPerformance({
        "device": '@_all',
        "networktype": '@_all',
        "scene": '@_all',
        "costTimeType": 2,
        "defaultStartTime": 1572339403,
        "defaultEndTime": 1574931403,
        "isDownloadCode": '@_all'
      })
    return result
  } catch (err) {
    return err
  }
}

返回示例

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.operation.getPerformance({
        "errcode": 0,
        "defaultTimeData": '{\'list\":[{\"ref_date\":\"20191029\",\"cost_time_type\":2,\"cost_time\":1533},{\"ref_date\":\"20191030\",\"cost_time_type\":2,\"cost_time\":1682}]}",
        "compareTimeData": ''
      })
    return result
  } catch (err) {
    return err
  }
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
-1system error系统繁忙,此时请开发者稍候再试
40001invalid credential  access_token isinvalid or not latest获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口

# 7. 适用范围

本接口在不同账号类型下的可调用情况:
小程序小游戏
  • ✔:该账号可调用此接口
  • 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;