このトピックでは、Application Real-Time Monitoring Service (ARMS) のサブサービスであるブラウザ監視に関するよくある質問とその回答をまとめています。
課金に関するよくある質問
利用に関するよくある質問
監視対象の URL や API にアスタリスク (*) が含まれる理由
ブラウザ監視のページ統計は、実際のページ URL に基づいて取得され、ディメンションごとに計算されます。監視対象のページや API の名前に含まれるアスタリスク (*) は、ページ URL の一部ではありません。アスタリスク (*) は URL 収束の結果を示します。したがって、アスタリスク (*) を含む名前は特定の URL ではなく、類似した URL のグループです。
たとえば、ARMS コンソールの左側のナビゲーションウィンドウで、[アプリケーション] グループの下にある [ページ満足度ランキング] ページに移動します。このページには、各ページ URL の満足度数が表示されます。URL 収束が行われた URL には、アスタリスク (*) が含まれます。
URL 収束の仕組み
問題:変数が含まれていると、類似した URL の監視や分析が困難になります。
目的:変数をアスタリスク (*) に置き換えることで、類似した URL をグループ化します。
解決策:Alibaba Cloud 独自の URL 収束アルゴリズムを使用して、類似した URL をグループ化し、URL の数を減らします。これにより、できるだけ多くのセマンティック情報を保持しつつ、URL の数を減らすことができます。これは、次の 2 つのステップで完了します。
集約:類似した URL を 1 つのグループに集約します。
変数識別:同じグループ内の URL から変数を抽出し、変数をアスタリスク (*) に置き換えます。

解決策
URL 収束を無効にする方法については、「urlHelper」をご参照ください。
PV リストとページ速度リストが異なる理由
これは、ご利用のアプリケーションがシングルページアプリケーション (SPA) であり、SPA 自動解像機能が有効になっているためです。SPA シナリオでは、ページビュー (PV) とページ速度は次の方法で測定されます。
PV:`hashchange` イベントがトリガーされると、PV データが自動的にレポートされ、ハッシュ値に基づいてページの PV が記録されます。したがって、SPA の PV リストを表示すると、ハッシュページの正確な PV を確認できます。
ページ速度:SPA のハッシュ値が変更されても、ページ速度は変わりません。したがって、ページ速度はハッシュ値に基づいて記録されません。これにより、不要なレポートが回避され、ページのパフォーマンスが明確になります。
API ログにトレース ID が見つからず、アプリケーションモニタリングページにリダイレクトできない理由
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、フロントエンドモニタリング > [ブラウザ監視] を選択し、目的のアプリケーション名をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
アクセス手順 タブで、ARMS エージェントの設定で アプリケーションモニタリングとの関連付け オプションが選択されているかどうかを確認します。選択されていない場合は、このオプションを選択し、フロントエンドアプリケーションに ARMS エージェントを再インストールします。
このオプションは、[詳細設定] タブの [SDK 拡張設定] セクションにあります。
API ログにトレース ID が生成されているかどうかを確認します。トレース ID が生成されていない場合は、ステップ 5 に進みます。
ページリクエストで使用されるドメイン名が API リクエストで使用されるドメイン名と同じであるかどうかを確認します。ページリクエストで使用されるドメイン名が API リクエストのドメイン名と異なる場合、これはクロスドメインアクセスです。この場合、クロスドメイン認証による API リクエストの失敗を防ぐために、トレース ID は生成されません。
この問題を解決する方法については、「フロントエンドからバックエンドへのトレース機能を使用した API エラーの診断」をご参照ください。
JavaScript (JS) エラーのトラブルシューティング時にソースマップファイルエラーが表示される理由
ファイル拡張子が .js.map であることを確認します。
ご利用のアカウントに ARMS へのデータ書き込み権限があることを確認します。書き込み権限がない場合は、管理者に連絡してください。
コンソール設定と setConfig メソッドの違い
コンソール設定は設定コードの生成を高速化するだけで、生成されたコードは公開後にのみ有効になります。一方、`setConfig` メソッドを呼び出して行った変更はすぐに有効になります。
ブラウザ監視コンソールの [アプリケーション設定] ページには、[ファーストスクリーンの FMP 収集を有効にする]、[ページリソースのレポートを有効にする]、[アプリケーションモニタリングとの関連付け]、[ユーザー行動リプレイを有効にする]、[コンソール追跡を有効にする] など、いくつかの設定スイッチがあります。コンソールは、選択内容に基づいて対応するエージェントコードを自動的に生成し、[非同期読み込み]、[同期読み込み]、[npm パッケージ] の 3 つの統合方法をサポートします。
さらに、コンソール設定は、アプリケーションを監視するために ARMS を初期化する場合にのみ有効です。アプリケーションが ARMS によって監視されているときに設定を変更するには、`setConfig` メソッドを呼び出す必要があります。
SDK で環境とバージョンを設定する方法
`release` パラメーターを設定してバージョンを比較できます。詳細については、「SDK リファレンス」をご参照ください。また、`environment` パラメーターを設定して、異なる環境を区別することもできます。詳細については、「SDK リファレンス」をご参照ください。
値 `prod` は本番環境を示します。
値 `gray` は段階的リリース環境を示します。
値 `pre` はステージング環境を示します。
値 `daily` はデイリー環境を示します。
値 `local` はローカル環境を示します。
設定のバージョン番号を確認する方法
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、フロントエンドモニタリング > フロントエンドモニタリング を選択し、対象アプリケーションの名前をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
各ログのバージョン番号は、ログリスト セクションの バージョン番号 列に表示されます。[詳細の表示] ページでは、各ログに対応する [バージョン番号] 列を確認できます。バージョン番号が設定されていない場合、この列には [未指定] と表示されます。
また、[メニューバー] で環境とバージョンによってログをフィルターすることもできます。バージョンフィルターは、PV ログにバージョン番号が設定された後にのみ使用できます。
ページのユーザー TP を確認する方法
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、フロントエンドモニタリング > フロントエンドモニタリング を選択し、対象アプリケーションの名前をクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
セッションリストで、対象セッションの セッション ID をクリックして、セッショントラッキングの詳細 ページを表示します。
[訪問タイムライン] 列の 時間軸 エリアにポインターを合わせると、ページ滞在時間 (TP) が表示されます。
ブラウザ監視のカスタムパフォーマンスメトリクスを確認する方法
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、フロントエンドモニタリング > フロントエンドモニタリング を選択し、対象アプリケーションの名前をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
カスタムパフォーマンスメトリクスは、[ページ速度] セクションに表示されます。
ARMS の設定が有効にならない場合の対処法
考えられる原因は、ブラウザキャッシュが更新されていないことです。この問題を解決するには、次の操作を実行します。ARMS コンソールの左側のナビゲーションウィンドウで、[アプリケーション] > [詳細の表示] を選択します。最新バージョンに切り替えて、トレンドチャートを表示します。バージョン番号が設定されていない場合は、ARMS SDK の `release` パラメーターを設定できます。詳細については、「SDK リファレンス」をご参照ください。`release` パラメーターを設定した後、指定した値が最新バージョンとして表示されるかどうかを確認します。
ミニプログラムの JS エラーがレポートされない理由
これは、ミニプログラムの基盤レイヤーで `trycatch` 文によって非同期モードでエラーメッセージがキャプチャされ、エラーメッセージのアップロードに失敗しているためと考えられます。エラーメッセージは手動でレポートできます。詳細については、「API リファレンス」をご参照ください。
console.error メソッドによって返される JS エラーをリッスンできるか
はい、`console.error` メソッドによって返される JS エラーはリッスンできます。Web ブラウザは、JS エラーのフォーマット要件を満たすエラーメッセージをレポートします。
ミニプログラムでは、エラーメッセージを手動でレポートできます。詳細については、「API リファレンス」をご参照ください。
Weex 環境でミニプログラムに設定した UID が有効にならない理由
`setConfig` メソッドを呼び出していない場合は、初期化設定時に UID を指定したかどうかを確認します。UID を指定していない場合は、指定してください。
`setConfig` メソッドを呼び出した場合は、別の UID を指定して再度メソッドを呼び出してください。
ログの保存期間
ARMS Basic Edition:ログは最大 7 日間保存できます。
ARMS Pro Edition:ログは最大 30 日間保存できます。
ARMS Pro Edition を有効化した後、トライアル期間中に作成したサイトを引き続き使用できるか
いいえ、それらのサイトを引き続き使用することはできません。トライアル期間が終了してから 15 日以内に、支払い遅延によりサイトは一時停止されます。アプリケーションの再起動を試みることができます。
トライアル期間終了後 15 日以内に ARMS Pro Edition が有効化されない場合、コンピューティングリソースとストレージリソースを節約するためにサイトは削除されます。関連リソースは解放され、リソース上のデータは回復できません。
ARMS のアプリケーションエディションとホストエディションで使用されるバージョン番号
アプリケーションエディションでは、現在のオンラインプロジェクトのバージョン番号が使用されます。ARMS SDK の `release` パラメーターを設定して、アプリケーションエディションのバージョン番号を指定できます。詳細については、「SDK リファレンス」をご参照ください。
ホストエディションでは、現在のプロジェクトが存在するアプリのバージョン番号が使用されます。ホストエディションのバージョン番号は SDK によって自動的に取得されます。ホストされているアプリのバージョンは解決できません。Taobao、Alipay、または WeChat のバージョンのみが解決されます。
ARMS コンソールで、同じページの PV がモジュールによって異なる理由
[ページ速度] ページでは、PV 数はパフォーマンスログのエントリ数にサンプリングレートを掛けたものに等しくなります。
[ディメンション] の下の [ページ] ページでは、PV 数は PV ログに表示される値に等しくなります。
自動的にレポートされるパフォーマンスログは、ページがロードされた後にのみレポートされます。パフォーマンスログは、ページが更新されるたびにレポートされます。
SPA モードが有効になると、ルートが切り替わるたびに PV ログがレポートされます。SPA モードでは、パフォーマンスログの数は PV ログの数よりも少なくなります。これにより、モジュールごとに PV に大きな差が生じます。
duration パラメーターの値が connect download パラメーターの値より小さい理由
ARMS のリソース読み込みパフォーマンスデータは、performance.getEntriesByType('resource') から取得されます。デフォルトでは、ページリソースのタイミング詳細へのアクセスにクロスオリジンの制限がある場合、クロスオリジンリソースのパフォーマンスデータ内の次のフィールドについて performance.getEntriesByType('resource') から取得される値は 0 になります。
redirectStart
redirectEnd
domainLookupStart
domainLookupEnd
connectStart
connectEnd
secureConnectionStart
requestStart
responseStartこれにより、一部の時間プロパティが不正確になる可能性があります。たとえば、connect download: responseEnd - responseStart の計算では、`responseStart` タイムスタンプが 0 であるため、`connect download` の値が `duration` よりも大きくなります。
この問題を解決するには、自己管理の CDN リソースの場合、レスポンスヘッダー `Timing-Allow-Origin` を設定して、リソースの取得が許可される時間を指定します。
サードパーティのリソースについては、`duration` パラメーターの値を主要なリファレンスとして使用することを推奨します。
__bl.performance() メソッドを呼び出す際に SDK がロードされているかどうかわからない場合の対処法
詳細については、「SPA のページデータレポート」をご参照ください。