귀하의 작곡 페이지 에 있는 Web transaction time 차트에 표시되는 Summary 지표 타임슬라이스 데이터는 귀하의 웹 앱 설정에 따라 달라집니다. 가능한 구성 요소는 다음과 같습니다.
REST API(v2)를 사용하여 Web transaction time 차트에 표시된 데이터를 얻는 방법을 설명합니다.
중요
예제에서는 뉴렐릭의 REST API v2를 활용하지만, 지표 타임슬라이스 쿼리 실행에는 NRQL 함수를 사용하는 것이 좋습니다. 각 API 값은 동등한 NRQL 함수에 매핑될 수 있습니다. 이러한 API 예제를 기반으로 NRQL 쿼리를 만드는 방법을 알아보려면 설명서를 참조하세요.
일반 API 값
직접 계산할 때 다음 사항에 유의하십시오.
- 이 예에 사용된 기본 시간 범위(30분) 를 변경할 수 있습니다.
- 지정하는 시간 범위는 이러한 쿼리 중 all 에서 일관되어야 합니다. 그렇지 않으면 최종 계산이 올바르지 않게 됩니다.
HttpDispatcher:call_count
은 거의 모든 계산에 사용되지만 지정된 시간 범위 동안 한 번만 획득하면 됩니다.- 이 예의
${APP_ID}
및${API_KEY}
변수를 특정 애플리케이션 ID 및 API 키로 바꿔야 합니다.
HttpDispatcher
Web transaction time 차트에 오버레이된 response time
선은 HttpDispatcher
시간과 결합된 Request queuing
시간을 나타냅니다. HttpDispatcher:average_response_time
는 요청 대기열 시간이 없는 웹 애플리케이션의 총 응답 시간이며 직접 가져옵니다. 애플리케이션 총 시간을 계산하는 데 사용되지 않습니다.
이 메트릭을 얻으려면 다음 명령을 사용하십시오.
$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
은 뉴렐릭 에이전트 언어(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 |
---|---|
자귀 | 방정식의 모든 용어가 적용되는 것은 아닙니다. 애플리케이션에 해당 데이터가 표시되지 않으면 해당 용어가 무시될 수 있습니다. |
데이터 저장소 및 데이터베이스 |
|
멤캐시 |
|
대기 시간 요청 |
|
응답 시간 |
|
웹 트랜잭션 총 시간 대 HttpDispatcher | 애플리케이션이 |
웹 트랜잭션 총 시간
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 에이전트는 특정 데이터베이스 유형으로 구분된 데이터베이스 시간을 표시합니다. 특정 에이전트 버전 요구 사항은 데이터베이스 및 느린 쿼리 기능 가용성을참조하세요.
이러한 뉴렐릭 에이전트는 Database
지표 이름을 Datastore/${DBTYPE}
로 대체합니다. 여기서 ${DBTYPE}
적절한 데이터베이스를 식별합니다. 예 Solr 들어, Postgres, MongoDB, Microsoft SQL Server, ODBC, , Redis, SQLite, Memcached, 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'데이터 저장소/${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'데이터 저장소/${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'
단일 명령으로 이 작업을 수행할 수도 있습니다.
$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 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'데이터베이스/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[]=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 에이전트를 사용 하지 않는 경우 계산을 사용하여 데이터베이스 값을 구하십시오. 이러한 값은 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/전체: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 = ( 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 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'외부/전체웹: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'외부/전체웹: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[]=External/allWeb&values[]=average_response_time'