metric timeslice data アプリケーションの Summary page に表示される Browser page load time chart は、ウェブアプリケーションの構成によって異なります。考えられるコンポーネントは次のとおりです。
- ネットワーク時間
- ページのレンダリング時間
- DOM処理時間
- Webアプリケーション時間
- リクエストのキューイング時間
ここでは、New Relic REST API (v2) を使用して、 ブラウザのページロード時間 チャートに表示されているデータを取得する方法について説明します。
一般的なAPIの値
自分で計算する場合は、以下の点に注意してください。
- これらの例で使用されている デフォルトの時間範囲(30分) を変更することができます。
- 計算値の場合、指定する時間範囲は、 すべての のクエリで一貫している必要があります。そうでなければ、最終的な計算値は正しくありません。
${APPID}を置き換える必要があります。
と${API_KEY}変数
変数は、あなたの特定の アプリケーション ID および対応する REST API キー に置き換える必要があります。- 必要に応じて、APIリクエストが返す時間単位を調整してください。
ネットワーク時間
EndUser:average_network_time
は、ネットワークレイテンシー、つまりリクエストがインターネット上を往復するのにかかる時間です。これを取得するには、次のコマンドを使用します。
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \
-H "X-Api-Key:${API_KEY}" -i \
-d 'names[]=EndUser&values[]=average_network_time'
この時間はミリ秒単位で返されます。
ページのレンダリング時間
ページのレンダリング時間は、導き出された値です。計算するには、次の式を使用します。
"Page rendering" time = EndUser:average_fe_response_time - EndUser/RB:average_dom_content_load_time
この計算のためのデータを取得するには、以下のコマンドを使用します。
EndUser:average_fe_response_time
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \ -H "X-Api-Key:${API_KEY}" -i \ -d 'names[]=EndUser&values[]=average_fe_response_time'
この時間はミリ秒単位で返されます。
エンドユーザー/RB:average_dom_content_load_time
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \ -H "X-Api-Key:${API_KEY}" -i \ -d 'names[]=EndUser/RB&values[]=average_dom_content_load_time'
この時間はミリ秒単位で返されます。
DOM処理時間
EndUser/RB:average_dom_content_load_time
は、ブラウザがHTMLを解析・解釈するのにかかる時間です。これは、ブラウザの DOM Content イベントによって測定されます。
このデータを取得するには、次のコマンドを使用します。
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \
-H "X-Api-Key:${API_KEY}" -i \
-d 'names[]=EndUser/RB&values[]=average_dom_content_load_time'
この時間はミリ秒単位で返されます。
Webアプリケーション時間
Webアプリケーション
時間は、アプリケーションコードに費やされる時間です。この値を計算するには、次の式を使用します。
Web application = EndUser:total_app_time / EndUser:call_count
この計算のためのデータを取得するには、以下のコマンドを使用します。
エンドユーザー:total_app_time
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \ -H "X-Api-Key:${API_KEY}" -i \ -d 'names[]=EndUser&values[]=total_app_time'
この時間は秒単位で返されます。
エンドユーザー:call_count
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \ -H "X-Api-Key:${API_KEY}" -i \ -d 'names[]=EndUser&values[]=call_count'
リクエストのキューイング時間
EndUser/RB:average_queue_time
は、ウェブサーバとアプリケーションコードの間の待ち時間です。大きな数値は、アプリケーションサーバーが忙しいことを示しています。
このデータを取得するには、次のコマンドを使用します。
curl -X GET "https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json" \
-H "X-Api-Key:${API_KEY}" -i \
-d 'names[]=EndUser/RB&values[]=average_queue_time'
この時間はミリ秒単位で返されます。
リクエストのキューイング時間は、平均値の計算には含まれていません。New Relic では便宜的にこのグラフに含めています。