• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Webトランザクションの時間データを取得する(v2)

metric timeslice data アプリケーションの Summary page に表示される Web transaction time chart は、Web アプリケーションの構成によって異なります。考えられるコンポーネントは次のとおりです。

  • レスポンスタイム
  • お客様のエージェント言語のアプリケーション合計時間
  • データストア、データベース、または(Ruby)データベース
  • ウェブ外部
  • メモリキャッシュ
  • リクエストのキューイング時間

ここでは、REST API(v2)を使用して、 Webトランザクション時間 チャートに表示されるデータを取得する方法について説明します。

一般的なAPIの値

自分で計算する場合は、以下の点に注意してください。

  • これらの例で使用されている デフォルトの時間範囲(30分) を変更することができます。
  • 指定する時間範囲は、 これらのクエリのすべての で一貫している必要があります。そうでない場合、最終的な計算は正しくありません。
  • HttpDispatcher:call_count は、ほとんどすべての計算で使用されますが、指定した時間範囲で一度だけ取得すればよいのです。
  • ${APPID}を置き換える必要があります。${APIKEY} 変数 変数は,あなた固有の アプリケーションID および APIキー に置き換える必要があります.

HttpDispatcher

Web transaction time チャート上に重ねられた response time ラインは、 Request queuing time と HttpDispatcher time の組み合わせを表しています。 HttpDispatcher:average_response_time は、リクエストキューイングの時間を除いたウェブアプリケーションの合計レスポンスタイムで、直接取得されます。この値は、アプリケーションのトータルタイムの計算には使用されません。

このメトリックを取得するには、次のコマンドを使用します。

curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
-H 'X-Api-Key:${APIKEY}' -i \
-d 'names[]=HttpDispatcher&values[]=average_response_time'

アプリケーションの合計時間

Application total time は、お客様の New Relic エージェントの言語(Java/JVM 時間、PHP、Python など)を指します。 **これには、 Request queuing の時間と HttpDispatcher の時間を除く、 チャート上の他の値に帰属しない** 処理時間がすべて含まれます。これが、他のコンポーネントを最初に計算しなければならない理由です。

この式を使って、 Application total time を決定します。

Application total time = WebTransactionTotalTime - Datastore time - Database time - (Ruby) Database - Web external - Memcache

この式の各値については、後ほど詳しく説明します。

アプリケーションの合計時間計算

コメント

条件

式の中のすべての項が適用されるとは限りません。対応するデータが表示されない場合は、対応する項を無視しても構いません。

データストアとデータベース

Datastore の時間, Database の時間, (Ruby) Database の値 は同じではありません 。2015年2月現在、 Datastore はDatabaseに代わって段階的に導入されています。また、 Rubyのエージェント は、少し異なる形でデータを保存しています。

メモリキャッシュ

Memcache の用語は、すべてのアプリケーションに存在するとは限りません。

リクエストのキューイング時間

Request queuing time(存在する場合)がUIのチャートに表示されることがありますが、計算には関与していません。単に利便性のために表示されています。

レスポンスタイム

応答時間 は、UIのチャートに重ねて表示されることがあります。この時間は、アプリケーションの合計時間の計算には含まれません。

Web トランザクションの合計時間と HttpDispatcher の比較

アプリケーションが WebTransactionTotalTime メトリック を報告しない場合は、 HttpDispatcher メトリックを使用してください。 WebTransactionTotalTime メトリックは、非同期の動作をする可能性のある最近のエージェントにのみ存在します。

Webトランザクションの合計時間

WebTransactionTotalTime は、Web アプリケーションの総実行時間で、直接取得します。次のコマンドを使用します。

curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
-H 'X-Api-Key:${APIKEY}' -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トランザクション時間 チャートが一般的な Database カテゴリを示している場合は、これらの計算を使用しないでください。代わりに、 Database の計算を使用してください。

Datastore total timeは、派生値です。これを計算するには、次の式を使用します。

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

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${API_KEY}' -i \
    -d 'names[]=HttpDispatcher&values[]=call_count'
  • Datastore/${DBTYPE}/allWeb:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Datastore/${DBTYPE}/allWeb&values[]=call_count'
  • Datastore/${DBTYPE}/allWeb:average_response_time

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Datastore/${DBTYPE}/allWeb&values[]=average_response_time'

また、この操作を1つのコマンドで行うこともできます。

curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
-H 'X-Api-Key:${APIKEY}' -i \
-d 'names[]=Datastore/MongoDB/allWeb&names[]=HttpDispatcher&values[]=average_response_time&values[]=call_count'

データベースの合計時間

3.11.0より古いRubyエージェントを使用している場合は、この計算を使用しないでください。代わりに、 (Ruby) Database の計算を使用してください。

Database total timeは、派生値です。計算するには、この式を使います。

Database time = ( Database/allWeb:average_response_time * Database/allWeb:call_count ) / HttpDispatcher:call_count

この計算のためのデータを取得するには、以下のコマンドを使用します。

  • HttpDispatcher:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=HttpDispatcher&values[]=call_count'
  • データベース/オールWeb:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Database/allWeb&values[]=call_count'
  • Database/allWeb:average_response_time

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Database/allWeb&values[]=average_response_time'

(Ruby) データベースの総時間

Rubyエージェントを使用していない場合 Database の値を得るために計算を使用してください。これらの値は Ruby エージェントのバージョン 3.10.0.279 以下でのみ提供されます。Rubyエージェントのバージョン3.11.0以降では、 Datastore の値を代わりに使用します。

(Ruby) Database total time は、派生値です。これを計算するには、次の式を使います。

(Ruby) Database = ( ActiveRecord/all:average_response_time * ActiveRecord/all:call_count ) / HttpDispatcher:call_count

この計算のためのデータを取得するには、以下のコマンドを使用します。

  • HttpDispatcher:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=HttpDispatcher&values[]=call_count'
  • ActiveRecord/all:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=ActiveRecord/all&values[]=call_count'
  • ActiveRecord/all:average_response_time

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -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

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=HttpDispatcher&values[]=call_count'
  • Memcache/allWeb:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/$(APPID)/metrics/data.xml' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Memcache/allWeb&values[]=call_count'
  • Memcache/allWeb:average_response_time

    curl -X GET https://api.newrelic.com/v2/applications/${APPID}/metrics/data.xml" \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=Memcache/allWeb&values[]=average_response_time'

Web外部集計時間

Web 外部 の合計時間は、派生値です。これを計算するには、次の式を使います。

Web external = ( External/allWeb:average_response_time * External/allWeb:call_count ) / HttpDispatcher:call_count

この計算のためのデータを取得するには、以下のコマンドを使用します。

  • HttpDispatcher:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=HttpDispatcher&values[]=call_count'
  • 外部/オールWeb:call_count

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=External/allWeb&values[]=call_count'
  • 外部/オールWeb:アベレージ・レスポンス・タイム

    curl -X GET 'https://api.newrelic.com/v2/applications/${APPID}/metrics/data.json' \
    -H 'X-Api-Key:${APIKEY}' -i \
    -d 'names[]=External/allWeb&values[]=average_response_time'
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.