このトピックでは、Application Real-Time Monitoring Service (ARMS) のフロントエンド監視機能を使用して DingTalk ミニプログラムを監視する方法について説明します。 また、この機能の一般的な構成、方法、高度なシナリオについても説明します。
手順
DingTalk ミニプログラムを監視するには、監視に必要な npm パッケージをインポートして初期化し、ログを報告するようにミニプログラムをインストルメント化し、セキュリティドメインを構成します。
npm パッケージをインポートして初期化します。
arms/js-sdkという名前の npm パッケージを DingTalk ミニプログラムにインポートします。 この npm パッケージを使用してログを報告できます。npm install @arms/js-sdk/utils ディレクトリの monitor.js ファイルに次のコードを追加して、npm パッケージを初期化します。
説明JS ファイルの名前と保存パスはカスタマイズできます。
import EAppLogger from 'arms/js-sdk/miniapp'; const Monitor = EAppLogger.init({ pid: 'xxx', region: "cn", // ミニプログラムがデプロイされているリージョン。ミニプログラムが中国にデプロイされている場合は、リージョンパラメータを cn に設定します。ミニプログラムがシンガポールまたはその周辺にデプロイされている場合は、リージョンパラメータを sg に設定します。ミニプログラムが米国またはその周辺にデプロイされている場合は、リージョンパラメータを us に設定します。 }); export default Monitor;説明パラメータ設定の詳細については、「共通の SDK パラメータ」をご参照ください。
セキュリティドメイン名を設定します。
region パラメータが
cnに設定されている場合は、arms-retcode.aliyuncs.com を HTTP セキュリティドメインに追加します。region パラメータが
sgに設定されている場合は、arms-retcode-sg.aliyuncs.com を HTTP セキュリティドメインに追加します。region パラメータが
usに設定されている場合は、arms-retcode-us.aliyuncs.com を HTTP セキュリティドメインに追加します。
その他の API メソッド
メソッド | 構文 | 説明 |
setCommonInfo | {[key: string]: string;} | カナリアリリースなどのシナリオの基本ログフィールドを設定します。 |
setConfig | {[key: string]: string;} | config フィールドを設定します。 詳細については、「SDK リファレンス」をご参照ください。 |
pageShow | {} | PV ログをインストルメント化します。 |
pageHide | {} | ヘルスログをインストルメント化します。 |
error | String/Object | エラーログをインストルメント化します。 |
api | 詳細については、「SDK メソッド」をご参照ください。 | API リクエストログを報告します。 |
sum/avg | String | カスタムの合計ログと平均ログを報告します。 |
高度なシナリオ
基本的な方法では要件を満たせない場合は、次の高度なシナリオを参照できます。
API リクエストログを手動で報告します。 自動レポートは無効になっています。
disableHook パラメータを
trueに設定します。 dd.httpRequest メソッドのログは自動的に報告されません。apiメソッドを手動で呼び出して、API リクエストログを報告します。
自動レポートを無効にし、手動インストルメンテーションを有効にします。
hookAppメソッドとhookPageメソッドは、app.js ファイルと page.js ファイルでは使用されなくなりました。ページの PV ログをレポートするには、
pageShowメソッドをonShowメソッドで呼び出します。説明pageShow メソッドを
hookPageメソッドと一緒に呼び出さないでください。 そうしないと、PV ログが繰り返し報告されます。import Monitor from '/util/monitor'; Page({ onShow: function() { Monitor.pageShow(); } })ページのヘルスレベルと閲覧時間を示すヘルスログを報告するには、
pageHideメソッドをonHideメソッドとonUnloadメソッドで呼び出します。説明pageHide メソッドを
hookPageメソッドと一緒に呼び出さないでください。 そうしないと、ヘルスログが繰り返し報告されます。import Monitor from '/util/monitor'; Page({ onHide: function() { Monitor.pageHide(); }, onUnload: function() { Monitor.pageHide(); } ... })
共通の SDK パラメータ
ARMS のフロントエンド監視機能では、さまざまな SDK パラメータを設定して追加の要件を満たすことができます。 次の表に、このトピックで説明されているシナリオに適した共通パラメータを示します。
|
|
|
|
|
pid | String | プロジェクトの一意の ID。 ARMS がサイトを作成するときに自動的に生成されます。 | はい | なし |
uid | String | ユーザーの ID。 値はユーザーの識別子であり、ユーザーの検索に使用できます。 カスタム値を指定できます。 このパラメータを指定しない場合、SDK は 6 か月ごとに自動的に生成および更新されます。 | いいえ | SDK によって自動的に生成 |
tag | String | 入力タグ。 各ログにはタグが付いています。 | いいえ | なし |
release | String | アプリケーションのバージョン。 異なるバージョンのレポート情報を表示するために、このパラメータを構成することをお勧めします。 | いいえ |
|
environment | String | 環境フィールド。 有効な値:prod、gray、pre、daily、local。
| いいえ |
|
sample | Integer | ログサンプリング構成。 値は 1 ~ 100 の整数です。 パフォーマンスログと成功 API ログは | いいえ |
|
behavior | Boolean | トラブルシューティングを容易にするためにエラーを報告するユーザーの行動を記録するかどうかを指定します。 | いいえ |
|
enableLinkTrace | Boolean | バックツーバックトレース分析の詳細については、「フロントツーバックトレース機能を使用して API エラーを診断する」をご参照ください。 | いいえ |
|
ARMS フロントエンド監視機能は、ビジネス要件を満たすために他の SDK パラメータも提供します。 詳細については、「SDK リファレンス」をご参照ください。