监控微信小程序中的慢HTTP请求过程详解

  

Fundebug的微信小程序监控插件在0.5.0版本已经支持监控HTTP请求错误,在小程序中通过wx。HTTP请求发起请求,如果请求失败,会被捕获并上报。时隔一年,微信小程序插件已经更新到1.3.1,而且提供了一个非常有用的功能,支持监控HTTP慢请求。对于轻量级的性能分析,可以说已经够用。
  

  

本文我们以一个天气微信小程序为例(由bodekjan开发),来演示如何监控慢请求.bmap-wx.js中()的天气函数调用百度地图小程序api提供的接口来获取天气预报信息。

  

监控微信小程序中的慢HTTP请求过程详解

  


  

  

由于使用百度的api,我们无法确认该接口的稳定性,可能有时候会特别慢,导致天气信息显示不出来。于是,我们使用Fundebug来监控请求过慢的情况。接下来,我们来演示如何监控慢请求。注册账户后,记得要在创建项目是选择“微信小程序”这一项目类型。

  

监控微信小程序中的慢HTTP请求过程详解

  

根据指示完成接入流程:

  

监控微信小程序中的慢HTTP请求过程详解

  

在应用。js顶部加入下面的代码(记得将apikey替换成你自己的):
  

        var fundebug=要求(“。/跑龙套/fundebug.1.3.1.min.js”);   fundebug.init ({   apikey:“YOUR-API-KEY”,   monitorMethodCall:没错,   monitorMethodArguments:没错,   monitorHttpData:没错,   setSystemInfo:没错,   setUserInfo:没错,   setLocation:没错,   httpTimeout: 200   });      

虽然init()函数只要设置apikey即可使用,但是为了最大程度发挥监控的威力,我们不妨多设置一些监控选项。
  

  

微信小程序插件有很多的可配置项,由于涉及到数据,默认处于关闭状态。我们可以监控函数调用(monitorMethodCall),以及函数调用的参数(monitorMethodArguments),监控HTTP请求的身体中的数据(monitorHttpData),获取系统信息(setSystemInfo),用户信息(setUserInfo)地理位置(setLocation)。

  


  

  

最后,最重要的一步,配置httpTimeout来监控超过特定时长的请求,httpTimeout类型为数字,单位为毫秒(女士)。演示起见,我们将时间设置为200毫秒。
  

  

在微信开发者工具内运行代码,Fundebug立马收到报错。小程序发往https://api.map.baidu.com/telematics/v3/weather接口的请求时长为571毫秒,超过预设时间200 ms。

  

监控微信小程序中的慢HTTP请求过程详解

  


  

  

该请求返回代码200,表明能够正常获取数据。点击该条错误,查看错误详情:

  

监控微信小程序中的慢HTTP请求过程详解

  

通过上方的统计数据,我们可以知道获取天气信息的接口出现缓慢情况的趋势,影响的用户数量,累计发生的次数。我们可以以此来评估是否需要优化该接口,甚至替换成其它第三方接口来解决这个问题。
  

  


  

  

因为配置了monitorHttpData,所以我们可以查看到请求身体中的详细数据。当请求失败的时候,有时候需要结合参数来分析失败的原因。

  

监控微信小程序中的慢HTTP请求过程详解

  

另外,用户行为数据记录了小程序运行的详细状况,特别是函数的调用序列,对于理解出错前程序的执行逻辑很有帮助:

  

监控微信小程序中的慢HTTP请求过程详解

  

<>强关于Fundebug
  

  

Fundebug专注于JavaScript,微信小程序,微信小游戏,支付宝小程序,自然反应,节点。js和Java线上应用实时错误监控。自2016年从双十一正式上的线,Fundebug累计处理了10个亿+错误事件,付费客户有阳光保险,核桃编程,荔枝调频,掌门1对1,微脉,青团社等众多品牌企业。欢迎大家免费试用!

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

监控微信小程序中的慢HTTP请求过程详解