Os dados da métrica de fração de tempo apresentados no gráfico Web transaction time na páginaSummary do seu aplicativo dependerão da configuração do seu aplicativo web. Os possíveis componentes podem incluir:
- Tempo de resposta
- Tempo total do aplicativo para o idioma do seu agente
- Armazenamento de dados, banco de dados ou banco de dados (Ruby)
- Web externa
- Memcache
- Solicitar tempo de fila
Isto descreve como usar a API REST (v2) para obter os dados mostrados no gráfico Web transaction time .
Valores gerais da API
Ao fazer seus próprios cálculos, esteja ciente do seguinte:
- Você pode alterar o intervalo de tempo padrão (30 minutos) usado nestes exemplos.
- O intervalo de tempo especificado deve ser consistente em all destas consultas; caso contrário, os cálculos finais estarão incorretos.
- O
HttpDispatcher:call_count
é usado em quase todos os cálculos, mas você só precisa adquiri-lo uma vez no intervalo de tempo especificado. - Você deve substituir as variáveis
${APP_ID}
e${API_KEY}
nestes exemplos pelo ID do aplicativo e chave de API específicos.
HttpDispatcher
A linha response time
sobreposta no gráfico Web transaction time representa o horário Request queuing
combinado com o horário HttpDispatcher
. O HttpDispatcher:average_response_time
é o tempo de resposta total para sua aplicação web sem o tempo de fila da solicitação e é obtido diretamente. Não é utilizado para calcular o tempo total do aplicativo.
Use o seguinte comando para obter esta métrica:
$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'
Tempo total do aplicativo
O Application total time
refere-se à linguagem do agente New Relic (horário Java/JVM, PHP, Python etc.). Isso inclui todo o tempo de processamento que não é atribuído a outros valores no gráfico except para o horário Request queuing
e o horário HttpDispatcher
. É por isso que você deve calcular primeiro os outros componentes.
Use esta equação para determinar o Application total time
:
Application total time = WebTransactionTotalTime - Datastore time - Database time - (Ruby) Database - Web external - Memcache
Cada um dos valores nesta equação é descrito em detalhes posteriormente neste documento.
Application total time calculation | Comments |
---|---|
Termos | Nem todos os termos da equação podem ser aplicados. Caso os dados correspondentes não apareçam para o seu aplicativo, os termos correspondentes poderão ser ignorados. |
Armazenamento de dados e banco de dados | Os valores |
Memcache | O termo |
Solicitar tempo de fila | O horário |
Tempo de resposta | O |
Transação da web tempo total vs. HttpDispatcher | Se seu aplicativo não relatar uma métrica |
Transação da web tempo total
O WebTransactionTotalTime
é o tempo total de execução do seu aplicativo web e é obtido diretamente. Use o seguinte comando:
$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'
Armazenamento de dados vs. banco de dados
A partir de fevereiro de 2015, o agente New Relic exibe o horário do banco de dados separado em tipos de banco de dados específicos. Para requisitos específicos de versão do agente, consulte banco de dados e consulta lenta recurso disponibilidade.
Esses agentes New Relic substituirão o nome da métrica Database
por Datastore/${DBTYPE}
, onde ${DBTYPE}
identifica o banco de dados apropriado; por exemplo, Postgres, MongoDB, Microsoft SQL Server, ODBC, Redis, SQLite, Memcached, Solr, Elasticsearch, etc.
Tempo total do armazenamento de dados
Se o gráfico Web transaction time mostrar a categoria genérica Database , não use esses cálculos. Em vez disso, use os cálculos do banco de dados.
O tempo total Datastore
é um valor derivado. Para calculá-lo, use esta equação:
Datastore time = ( Datastore/${DBTYPE}/allWeb:average_response_time * Datastore/${DBTYPE}/allWeb:call_count ) / HttpDispatcher:call_count
O ${DBTYPE}
representa o tipo de banco de dados relatado; por exemplo, Postgres, ODBC, Redis, MongoDB, MySQL, Microsoft SQL Server, SQLite, Cassandra, Memcached, etc. Substitua o nome do banco de dados conforme apropriado.
Para obter os dados para este cálculo, use os comandos a seguir.
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'
Você também pode realizar esta operação em um único comando:
$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'
Tempo total do banco de dados
Se você estiver usando um agente Ruby anterior à versão 3.11.0, não use esses cálculos. Em vez disso, use os cálculos do banco de dados (Ruby) .
O tempo total Database
é um valor derivado. Para calculá-lo, use esta equação:
Database time = ( Database/allWeb:average_response_time * Database/allWeb:call_count ) / HttpDispatcher:call_count
Para obter os dados para este cálculo, use os comandos a seguir.
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'Database/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) Tempo total do banco de dados
Caso não esteja utilizando um agente Ruby, utilize os cálculos para obter o valor do banco de dados . Esses valores são fornecidos apenas pelas versões 3.10.0.279 ou inferiores do agente Ruby. O agente Ruby versão 3.11.0 ou superior usa valores de armazenamento de dados .
O tempo total (Ruby) Database
é um valor derivado. Para calculá-lo, use esta equação:
(Ruby) Database = ( ActiveRecord/all:average_response_time * ActiveRecord/all:call_count ) / HttpDispatcher:call_count
Para obter os dados para este cálculo, use os comandos a seguir.
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'
Tempo total do Memcache
Se disponível, o tempo de resposta Memcache
será um valor derivado. (Nem todos os aplicativos terão Memcache
tempo de resposta.) Para calculá-lo, use esta equação:
Memcache = ( Memcache/allWeb:average_response_time * Memcache/allWeb:call_count ) / HttpDispatcher:call_count
Para obter os dados para este cálculo, use os comandos a seguir.
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'
Tempo total externo da Web
O tempo total Web external
é um valor derivado. Para calculá-lo, use esta equação:
Web external = ( External/allWeb:average_response_time * External/allWeb:call_count ) / HttpDispatcher:call_count
Para obter os dados para este cálculo, use os comandos a seguir.
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'External/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[]=External/allWeb&values[]=call_count'External/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[]=External/allWeb&values[]=average_response_time'