要約: Fundebug遅い要求の使用を監視し、ユーザーエクスペリエンスに影響を与え、あまりにも長い間の要求。
マイクロチャネル監視アプレットプラグインバージョン0.5.0がサポートしているのFundebug HTTPリクエストエラーを監視アプレットによっては、wx.request
要求が失敗した場合、それは捕捉され、報告され、HTTP要求を送信します。一年後、小さなマイクロチャンネルプラグインは1.3.1にアップデートされ、非常に便利な機能のサポートを提供された低速のHTTPリクエストを監視します。軽量パフォーマンス分析のために、十分であったと言うことができます。
本論文では、気象アプレットのマイクロ文字(からの例としてbodekjan開発)は、低速の要求を監視する方法を実証します。天気予報情報を取得するために提供される関数呼び出しインタフェースBaiduのマップアプレットのAPI。bmap-wx.js
weather()
アクセスの監視
APIを使用しているためBaiduは、我々はインターフェイスの安定性を確認することができない、それは時々出てこないの気象情報表示につながる、特に遅くなることがあります。そこで、我々は状況を監視するにはあまりにも遅いFundebug要求を使用します。次に、我々は遅い要求を監視する方法を示します。アカウントを登録した後、プロジェクトを作成するために覚えているこのプロジェクトタイプ「マイクロ文字アプレット」で選択されています。
指示に従って、アクセスの手順を実行します。
でapp.js
先頭に次のコードを追加すること(自分のしてAPIキーを置き換えることを忘れないでください):
var fundebug = require("./utils/fundebug.1.3.1.min.js");
fundebug.init({
apikey: "YOUR-API-KEY",
monitorMethodCall: true,
monitorMethodArguments: true,
monitorHttpData: true,
setSystemInfo: true,
setUserInfo: true,
setLocation: true,
httpTimeout: 200
});
虽然init()
函数只要设置apikey
即可使用,但是为了最大程度发挥监控的威力,我们不妨多设置一些监控选项。
微信小程序插件有很多的可配置项,由于涉及到数据,默认处于关闭状态。我们可以监控函数调用(monitorMethodCall),以及函数调用的参数(monitorMethodArguments),监控 HTTP 请求的 Body 中的数据(monitorHttpData),获取系统信息(setSystemInfo)、用户信息(setUserInfo)、地理位置(setLocation)。
监控慢请求
最后,最重要的一步,配置httpTimeout
来监控超过特定时长的请求,httpTimeout 类型为 Number,单位为毫秒(ms)。演示起见,我们将时间设置为 200 毫秒。
在微信开发者工具内运行代码,Fundebug 立马收到报错。小程序发往https://api.map.baidu.com/telematics/v3/weather
接口的请求时长为 571ms,超过预设时间 200ms。
错误详情
该请求返回代码 200,表明能够正常获取数据。点击该条错误,查看错误详情:
通过上方的统计数据,我们可以知道获取天气信息的接口出现缓慢情况的趋势,影响的用户数量,累计发生的次数。我们可以以此来评估是否需要优化该接口,甚至替换成其它第三方接口来解决这个问题。
附加信息
因为配置了 monitorHttpData,所以我们可以查看到请求 body 中的详细数据。当请求失败的时候,有时候需要结合参数来分析失败的原因。
另外,用户行为数据记录了小程序运行的详细状况,特别是函数的调用序列,对于理解出错前程序的执行逻辑很有帮助:
关于Fundebug
Fundebugの JavaScriptの上の焦点は、マイクロチャネル、マイクロチャネルのゲーム、アリペイ小さなプログラム、リアルタイムのオンライン監視BUGネイティブ、Node.jsのとJavaアプリケーションに反応アプレット。2016年以来、二から一一が正式に立ち上げ、Fundebugは10億の+エラーイベントの合計を取り扱う、有料顧客はサンシャイン保険、クルミのプログラミング、ライチFM、1対1、マイクロパルスの頭部、青年同盟や他の多くのコミュニティのブランドを持っています。ようこそ無料お試し!
著作権
著者は転載明記してくださいFundebugと紙アドレス:
https://blog.fundebug.com/2019/06/27/monitor-httptimeout-in-weather-miniapp/