アプリケーションの ページ の グラフに表示されるWeb transaction timeSummary テーマタイムスライス データは、 Web アプリの設定によって異なります。考えられるコンポーネントには次のものがあります:
ここでは、REST API (v2) を使用してWeb transaction timeチャートに表示されるデータを取得する方法について説明します。
一般的なAPIの値
自分で計算する場合は、以下の点に注意してください。
- これらの例で使用されている デフォルトの時間範囲(30分) を変更することができます。
- 指定する時間範囲は、これらのクエリのallで一貫している必要があります。そうでない場合、最終的な計算は不正確になります。
HttpDispatcher:call_count
はほぼすべての計算で使用されますが、指定した時間範囲で取得する必要があるのは 1 回だけです。- これらの例の
${APP_ID}
変数と${API_KEY}
変数を特定の アプリケーション ID と API キーに置き換える必要があります。
HttpDispatcher
Web transaction timeチャートに重ねて表示されたresponse time
線は、 Request queuing
時間とHttpDispatcher
時間を組み合わせたものを表します。 HttpDispatcher:average_response_time
は、リクエストのキューイング時間を除いた Web アプリケーションの合計レスポンス時間であり、直接取得されます。 アプリケーションの合計時間の計算には使用されません。
このメトリックを取得するには、次のコマンドを使用します。
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \> -H "X-Api-Key:${API_KEY}" -i \> -d 'names[]=HttpDispatcher&values[]=average_response_time'
アプリケーションの合計時間
Application total time
は、New Relic エージェントの言語 (Java/JVM 時間、PHP、Python など) を表します。 これには、 Request queuing
時間とHttpDispatcher
時間のグラフexcept上の他の値に属性を持たないすべての処理時間が含まれます。 このため、最初に他のコンポーネントを計算する必要があります。
次の式を使用して Application total time
を決定します。
Application total time = WebTransactionTotalTime - Datastore time - Database time - (Ruby) Database - Web external - Memcache
この式の各値については、後ほど詳しく説明します。
Application total time calculation | Comments |
---|---|
条件 | 式の中のすべての項が適用されるとは限りません。対応するデータが表示されない場合は、対応する項を無視しても構いません。 |
データストアとデータベース |
|
メモリキャッシュ |
|
リクエストのキューイング時間 |
|
レスポンスタイム |
|
Web トランザクションの合計時間と HttpDispatcher の比較 | アプリケーションが |
Webトランザクションの合計時間
WebTransactionTotalTime
はウェブ アプリケーションの合計実行時間で、直接取得されます。次のコマンドを使用します。
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \ > -H "X-Api-Key:${API_KEY}" -i \ > -d 'names[]=WebTransactionTotalTime&values[]=average_response_time'
データストアとデータベースの比較
2015 年 2 月の時点で、New Relic エージェントはデータベース時間を特定のデータベース タイプに分けて表示します。特定のエージェント バージョンの要件については、 「 データベースとスロー クエリ機能の可用性 」を参照してください。
これらのNew Relicエージェントは、Database
メトリクス名を Datastore/${DBTYPE}
に置き換えます。ここで、${DBTYPE}
は適切なデータベースを示します。たとえば、Postgres、MongoDB、Microsoft SQL Server、ODBC、Redis、SQLite、Memcached、Solr、Elasticsearch などです。
データストアのトータルタイム
Web transaction timeチャートに一般的なDatabaseカテゴリが表示されている場合は、これらの計算を使用しないでください。 代わりに、データベース計算を使用します。
Datastore
の合計時間は派生値です。計算するには、次の式を使用します。
Datastore time = ( Datastore/${DBTYPE}/allWeb:average_response_time * Datastore/${DBTYPE}/allWeb:call_count ) / HttpDispatcher:call_count
${DBTYPE}
は報告されたデータベースのタイプを表します。たとえば、Postgres、ODBC、Redis、MongoDB、MySQL、Microsoft SQL Server、SQLite、Cassandra、Memcached などです。適切なデータベース名に置き換えてください。
この計算のためのデータを取得するには、以下のコマンドを使用します。
HttpDispatcher:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=HttpDispatcher&values[]=call_count'Datastore/${DBTYPE}/allWeb:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Datastore/${DBTYPE}/allWeb&values[]=call_count'Datastore/${DBTYPE}/allWeb:average_response_time
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Datastore/${DBTYPE}/allWeb&values[]=average_response_time'
また、この操作を1つのコマンドで行うこともできます。
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \> -H "X-Api-Key:${API_KEY}" -i \> -d 'names[]=Datastore/MongoDB/allWeb&names[]=HttpDispatcher&values[]=average_response_time&values[]=call_count'
データベースの合計時間
3.11.0より古いRubyエージェントを使用している場合は、この計算を使用しないでください。代わりに、 (Ruby) Database の計算を使用してください。
Database
の合計時間は派生値です。計算するには、次の式を使用します。
Database time = ( Database/allWeb:average_response_time * Database/allWeb:call_count ) / HttpDispatcher:call_count
この計算のためのデータを取得するには、以下のコマンドを使用します。
HttpDispatcher:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=HttpDispatcher&values[]=call_count'データベース/オールWeb:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Database/allWeb&values[]=call_count'Database/allWeb:average_response_time
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Database/allWeb&values[]=average_response_time'
(Ruby) データベースの総時間
Rubyエージェントを使用していない場合 Database の値を得るために計算を使用してください。これらの値は Ruby エージェントのバージョン 3.10.0.279 以下でのみ提供されます。Rubyエージェントのバージョン3.11.0以降では、 Datastore の値を代わりに使用します。
(Ruby) Database
の合計時間は派生値です。計算するには、次の式を使用します。
(Ruby) Database = ( ActiveRecord/all:average_response_time * ActiveRecord/all:call_count ) / HttpDispatcher:call_count
この計算のためのデータを取得するには、以下のコマンドを使用します。
HttpDispatcher:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=HttpDispatcher&values[]=call_count'ActiveRecord/all:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=ActiveRecord/all&values[]=call_count'ActiveRecord/all:average_response_time
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=ActiveRecord/all&values[]=average_response_time'
メモリキャッシュの合計時間
利用可能な場合、 Memcache
応答時間は派生値です。(すべてのアプリケーションの応答時間が Memcache
になるわけではありません。)計算するには、次の式を使用します。
Memcache = ( Memcache/allWeb:average_response_time * Memcache/allWeb:call_count ) / HttpDispatcher:call_count
この計算のためのデータを取得するには、以下のコマンドを使用します。
HttpDispatcher:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=HttpDispatcher&values[]=call_count'Memcache/allWeb:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Memcache/allWeb&values[]=call_count'Memcache/allWeb:average_response_time
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.xml" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=Memcache/allWeb&values[]=average_response_time'
Web外部集計時間
Web external
の合計時間は派生値です。計算するには、次の式を使用します。
Web external = ( External/allWeb:average_response_time * External/allWeb:call_count ) / HttpDispatcher:call_count
この計算のためのデータを取得するには、以下のコマンドを使用します。
HttpDispatcher:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=HttpDispatcher&values[]=call_count'外部/オールWeb:call_count
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=External/allWeb&values[]=call_count'外部/オールWeb:アベレージ・レスポンス・タイム
bash$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \>-H "X-Api-Key:${API_KEY}" -i \>-d 'names[]=External/allWeb&values[]=average_response_time'