このトピックでは、Application Real-Time Monitoring Service (ARMS) のブラウザ監視サブサービスに関するよくある質問への回答を提供します。
課金関連のFAQ
使用状況関連のFAQ
監視対象のURLまたはAPIの一部の名前にアスタリスク(*)が含まれているのはなぜですか?
ブラウザ監視のページ統計は、実際のページURLに基づいて取得され、ディメンションごとに計算されます。監視対象のページまたはAPIの名前に含まれるアスタリスク(*)は、ページURLの一部ではありません。アスタリスク(*)はURL集約の結果を示します。したがって、アスタリスク(*)を含む名前は特定のURLではなく、類似したURLのグループです。
URL集約の仕組み
問題:変数があると、類似したURLの監視または分析が困難になります。
目的:変数をアスタリスク(*)に置き換えることで、類似したURLをグループ化します。
解決策:Alibaba Cloud独自のURL集約アルゴリズムを使用して、類似したURLをグループ化し、URLの数を減らします。このようにして、できるだけ多くのセマンティック情報を保持し、URLの数を減らすことができます。これは、次の2つのステップで完了します:
集約:類似したURLを1つのグループに集約します。
変数識別:同じグループのURLから変数を抽出し、変数をアスタリスク(*)に置き換えます。
次の図は、URL集約プロセスを示しています。
解決策
URL集約を無効にする方法については、urlHelperを参照してください。
PVリストとページ速度リストが異なるのはなぜですか?
これは、アプリケーションがシングルページアプリケーション(SPA)であり、SPA自動解決機能が有効になっているためです。SPAシナリオでは、ページビュー(PV)とページ速度は、次の方法を使用して測定されます。
PV:hashchangeイベントがトリガーされると、PVデータが自動的に報告され、ハッシュ値に基づいてページのPVが記録されます。したがって、SPAのPVリストを表示すると、ハッシュページの正確なPVを表示できます。
ページ速度:SPAのハッシュ値が変更されても、ページ速度は変更されません。したがって、ページ速度はハッシュ値に基づいて記録されません。このようにして、不要なレポートが回避され、ページのパフォーマンスが明確になります。
APIログにトレースIDが見つからず、その結果、ページがアプリケーション監視ページにリダイレクトされません。なぜですか?
ARMSコンソールにログオンします。
左側のナビゲーションペインで、 を選択します。ブラウザ監視ページで、アプリケーションの名前をクリックします。
左側のナビゲーションペインで、 を選択します。
前提条件タブで、ARMSエージェント設定でアプリケーション監視と関連付けるが選択されているかどうかを確認します。「アプリケーション監視と関連付ける」が選択されていない場合は、選択します。次に、ARMSエージェントをフロントエンドアプリケーションに再度接続します。
APIログにトレースIDが生成されているかどうかを確認します。トレースIDが生成されていない場合は、手順5に進みます。
ページリクエストで使用されているドメイン名とAPIリクエストで使用されているドメイン名が同じかどうかを確認します。ページリクエストで使用されているドメイン名とAPIリクエストのドメイン名が異なる場合、これはクロスドメインアクセスです。この場合、クロスドメイン認証によってAPIリクエストの失敗を防ぐために、トレースIDは生成されません。
この問題の解決方法については、フロントツーバックトレース機能を使用してAPIエラーを診断するを参照してください。
JavaScript(JS)エラーのトラブルシューティング時に、ソースマップファイルエラーが表示されるのはなぜですか?
ファイルサフィックスが.js.mapであることを確認します。
アカウントにARMSにデータを書き込む権限があることを確認します。アカウントに書き込み権限がない場合は、管理者に連絡してください。
コンソール設定とsetConfigメソッドの違いは何ですか?
コンソール設定では、設定コードの生成のみが高速化され、生成されたコードはコードが公開された後にのみ有効になります。ただし、setConfigメソッドを呼び出して行った変更はすぐに有効になります。
また、コンソール設定は、ARMSを初期化してアプリケーションを監視する場合にのみ有効です。アプリケーションがARMSによって監視されている場合は、setConfigメソッドを呼び出して設定を変更する必要があります。
SDKで環境とバージョンを設定するにはどうすればよいですか?
releaseパラメータを設定して、バージョンを比較できます。詳細については、SDKリファレンスを参照してください。また、environmentパラメータを設定して、異なる環境を区別することもできます。詳細については、SDKリファレンスを参照してください。
値prodは本番環境を示します。
値grayは段階的リリース環境を示します。
値preはステージング環境を示します。
値dailyは日次環境を示します。
値localはローカル環境を示します。
設定のバージョン番号を表示するにはどうすればよいですか?
ARMSコンソールにログオンします。
左側のナビゲーションペインで、 を選択します。ブラウザ監視ページで、アプリケーションの名前をクリックします。
左側のナビゲーションペインで、 を選択します。
ログリストセクションのバージョン列に、ログのバージョン番号が表示されます。
メニューバーで、環境とバージョン別にログをフィルタリングすることもできます。PVログにバージョン番号が設定された後にのみ、ログをフィルタリングできます。
ページに対するユーザーのTPを表示するにはどうすればよいですか?
ARMSコンソールにログオンします。
左側のナビゲーションペインで、 を選択します。ブラウザ監視ページで、アプリケーションの名前をクリックします。
左側のナビゲーションペインで、 を選択します。
セッションリストセクションで、セッションを見つけて、セッションID列の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版:ログは最大7日間保存できます。
ARMS Pro版:ログは最大30日間保存できます。
ARMS Pro版を有効にした後、試用期間中に作成されたサイトを引き続き使用できますか?
いいえ、これらのサイトを引き続き使用することはできません。試用期間が終了してから15日以内に、サイトは延滞のため停止されます。アプリケーションの再起動を試みることができます。
試用期間の終了後15日以内にARMS Pro版が有効にならない場合、コンピューティングリソースとストレージリソースを節約するために、サイトは削除されます。関連リソースは解放され、リソース上のデータは復元できません。
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')
メソッドから取得されます。サードパーティのARMSリソースのドメイン名は、リクエストされているリソースのサイトのドメイン名と同じである必要があります。デフォルトでは、クロスドメインリソースのパフォーマンスデータの次のパラメータについて、performance.getEntriesByType('resource')
メソッドから値0が取得されます。
redirectStart
redirectEnd
domainLookupStart
domainLookupEnd
connectStart
connectEnd
secureConnectionStart
requestStart
responseStart
上記のsetParameterが計算に使用されるため、一部の時間プロパティは不正確または異常である可能性があります。たとえば、connect download:responseEnd - responseStart
では、responseStartパラメータで指定されたタイムスタンプが0であるため、durationパラメータの値はconnect downloadパラメータの値よりも小さくなります。
この問題を解決するには、自己管理CDNリソースの場合、レスポンスヘッダーTiming-Allow-Originを設定して、リソースの取得に許可される時間を指定できます。
サードパーティリソースの場合は、durationパラメータの値を主要な参照として使用することをお勧めします。
__bl.performance()メソッドを呼び出すときにSDKがロードされているかどうかがわからない場合はどうすればよいですか?
詳細については、SPAのページデータレポートを参照してください。