• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

NRQLへの移行

アプリのメトリクス名をリストする

アプリケーションで利用可能なメトリクス名を表示するには:

SELECT uniques(metricTimesliceName) FROM Metric
WHERE appId = '$APP_ID' AND newrelic.timeslice.value IS NOT NULL
SINCE 30 MINUTES AGO LIMIT MAX

アプリケーション名を使用してフィルタリングすることも可能:

SELECT uniques(metricTimesliceName) FROM Metric
WHERE appName = '$APP_NAME' AND newrelic.timeslice.value IS NOT NULL
SINCE 30 MINUTES AGO LIMIT MAX

または特定のエージェント (ホスト) を使用:

SELECT uniques(metricTimesliceName) FROM Metric
WHERE realAgentId = '$AGENT_ID' AND newrelic.timeslice.value IS NOT NULL
SINCE 30 MINUTES AGO LIMIT MAX

アプリのメトリックタイムスライスデータ値を取得する

REST API v2は、メトリクス名のリストと値のリストを受け取り、メトリックタイムスライスデータを取得します。

メトリクス名は同じなので、 NRQLクエリの metricTimesliceNameフィールドを使用してフィルタリングできます。

各API値はNRQL関数にマッピングできます。以下の表を参照してください。

たとえば、次のAPIリクエストの場合:

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[]=average_call_time&values[]=call_count'

次のクエリを使用します。

SELECT count(newrelic.timeslice.value) AS call_count,
average(newrelic.timeslice.value) * 1000 AS average_call_time
FROM Metric
WHERE appId = $APP_ID AND metricTimesliceName = 'HttpDispatcher'
値(RPM)NRQL関数
average_response_timeaverage(newrelic.timeslice.value) * 1000
calls_per_minuterate(count(newrelic.timeslice.value), 1 minute)
call_countcount(newrelic.timeslice.value)
min_response_timemin(newrelic.timeslice.value) * 1000
max_response_timemax(newrelic.timeslice.value) * 1000
average_exclusive_timeaverage(newrelic.timeslice.value['totalExclusive'] / newrelic.timeslice.value['count']) * 1000
average_valueaverage(newrelic.timeslice.value)
total_call_time_per_minuterate(sum(newrelic.timeslice.value), 1 minute)
requests_per_minuterate(count(newrelic.timeslice.value), 1 minute)
standard_deviationstddev(newrelic.timeslice.value) * 1000
average_timeaverage(newrelic.timeslice.value) * 1000
countcount(newrelic.timeslice.value)
used_bytes_by_hostaverage(newrelic.timeslice.value) * 1024 * 1024
used_mb_by_hostaverage(newrelic.timeslice.value)
total_used_mbsum(newrelic.timeslice.value)
average_call_timeaverage(newrelic.timeslice.value) * 1000
total_valuesum(newrelic.timeslice.value)
min_valuemin(newrelic.timeslice.value)
max_valuemax(newrelic.timeslice.value)
raterate(sum(newrelic.timeslice.value), 1 second)
throughputrate(count(newrelic.timeslice.value), 1 second)
as_percentageaverage(newrelic.timeslice.value) * 100
errors_per_minuterate(count(newrelic.timeslice.value), 1 minute)
error_countcount(newrelic.timeslice.value)
total_timesum(newrelic.timeslice.value) * 1000
sessions_activeaverage(newrelic.timeslice.value)
total_visitssum(newrelic.timeslice.value)
percentaverage(newrelic.timeslice.value) * 100
percent(CPU/User Time)100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS
time_percentage100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS
utilization100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS
visits_percentage100 * sum(newrelic.timeslice.value) / $TIME_WINDOW_IN_SECONDS

関数に$TIME_WINDOW_IN_SECONDSが含まれている場合は、クエリを実行する時間枠に置き換える必要があります。

たとえば、30分の時間枠をクエリする場合は、 $TIME_WINDOW_IN_SECONDS 1800に置き換えます。

Apdex メトリクス

値(RPM)NRQL関数
scoreapdex(newrelic.timeslice.value)
sapdex(newrelic.timeslice.value) または count(newrelic.timeslice.value)
tapdex(newrelic.timeslice.value) または sum(newrelic.timeslice.value)
fapdex(newrelic.timeslice.value) または sum(newrelic.timeslice.value['totalExclusive'])
countapdex(newrelic.timeslice.value)
valueapdex(newrelic.timeslice.value)
thresholdmax(newrelic.timeslice.value)
threshold_minmin(newrelic.timeslice.value)

エンドユーザーとモバイルのメトリクス

これらのメトリックは、REST API v2と同じ結果を返しますが、一部の結果はNew Relic UIに表示されるものと異なる場合があります。これは、 UIが時間区切りデータの代わりにイベントを使用しているためです。UIと同じ結果を取得したい場合は、イベントを直接クエリする必要があります。

値(RPM)NRQL関数
average_response_timesum(newrelic.timeslice.value) / count(newrelic.timeslice.value) * 1000
error_percentage(filter(count(newrelic.timeslice.value), WHERE metricTimesliceName = 'EndUser/errors') / filter(count(newrelic.timeslice.value), WHERE metricTimesliceName = 'Browser'))
average_fe_response_timesum(newrelic.timeslice.value['totalExclusive']) / count(newrelic.timeslice.value) * 1000
average_be_response_time1000 * (sum(newrelic.timeslice.value) - sum(newrelic.timeslice.value['totalExclusive'])) / count(newrelic.timeslice.value)
average_network_time(sum(newrelic.timeslice.value) - sum(newrelic.timeslice.value['totalExclusive']) - sum(newrelic.timeslice.value['sumOfSquares'])) / count(newrelic.timeslice.value)
total_network_time(sum(newrelic.timeslice.value) - sum(newrelic.timeslice.value['totalExclusive']) - sum(newrelic.timeslice.value['sumOfSquares']))
network_time_percentage(sum(newrelic.timeslice.value) - sum(newrelic.timeslice.value['totalExclusive']) - sum(newrelic.timeslice.value['sumOfSquares'])) / $TIME_WINDOW_IN_SECONDS
total_fe_timesum(newrelic.timeslice.value['totalExclusive'])
fe_time_percentage100 * sum(newrelic.timeslice.value['totalExclusive']) / $TIME_WINDOW_IN_SECONDS
average_dom_content_load_timeaverage(newrelic.timeslice.value) * 1000
average_queue_timeaverage(newrelic.timeslice.value['totalExclusive']) * 1000
total_queue_timesum(newrelic.timeslice.value['totalExclusive']) * 1000
total_dom_content_timesum(newrelic.timeslice.value) * 1000
total_app_timesum(newrelic.timeslice.value['sumOfSquares'])
average_app_timesum(newrelic.timeslice.value['sumOfSquares']) / count(newrelic.timeslice.value)
average_sent_bytessum(newrelic.timeslice.value['totalExclusive']) * 1000
average_received_bytes1000 * sum(newrelic.timeslice.value) / count(newrelic.timeslice.value)
launch_countcount(newrelic.timeslice.value)

時系列とサマリー

デフォルトでは、REST APIは一連のメトリクスデータ値を返します。これらの値の平均を取得するには、 APIコールに&summarize=true を含めます。

NRQLの場合は、その逆となります。デフォルトではサマリーが取得され、クエリにTIMESERIESを追加することで時系列を取得できます。

もう一つの違いは、REST APIのデフォルトの時間枠が30分であるのに対し、NRQLでは1時間であることです。

複数のメトリクスをクエリする

NRQLを使用すると、複数のメトリクスを一度にクエリすることができます。以下はその例です。

SELECT
filter(1000 * average(newrelic.timeslice.value), WHERE metricTimesliceName = 'HttpDispatcher') AS average_response_time,
filter(count(newrelic.timeslice.value), WHERE metricTimesliceName = 'Errors/all') AS error_count,
filter(average(newrelic.timeslice.value), WHERE metricTimesliceName = 'Memory/Heap/Max') AS used_mb_by_host
FROM Metric
WHERE appName = '$APP_NAME'
SINCE 1 day ago
Copyright © 2025 New Relic株式会社。

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