Esta tradução de máquina é fornecida para sua comodidade.
In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.
Se você estiver usando o New Relic para Java com uma framework compatível, o New Relic agrupará as transações com base nos nomes de transação obtidos da framework. Caso contrário, a New Relic agrupa as transações com base em seu componente. Os componentes são JSPs, servlets e filtros invocados durante a transação.
Importante
Não use colchetes [suffix] no final do nome da sua transação. O New Relic remove automaticamente os colchetes do nome. Em vez disso, use parênteses (suffix) ou outros símbolos, se necessário.
Agrupamento de transação
O agente Java da New Relic agrupa transações semelhantes sob um único nome. Se a New Relic não agrupasse a transação, cada URI exclusivo geraria um nome exclusivo. Por exemplo, seu aplicativo Web pode produzir URIs como:
/user/123/control_panel.jhtml
/user/456/control_panel.jhtml
/user/789/control_panel.jhtml
Sem agrupamento, isso produziria três métricas individuais (bastante sem sentido). Portanto, a New Relic tenta agrupar as transações sob um rótulo significativo. Para obter mais informações sobre agrupamento métrico, consulte questões de agrupamento métrico.
Os nomes de transação usam o formato URI. Por exemplo:
MyTransactionName
/MyTransactionName
/MyServlet/MyTransactionName
Se você estiver usando uma frameworksuportada, o New Relic obterá o nome da transação da framework. Por exemplo, para Spring, o nome da transação normalmente vem da chamada de getViewName no objeto org.springframework.web.servlet.ModelAndView .
Se você não estiver usando uma framework suportada, o New Relic nomeia uma transação com base em seus componentes. O nome exato da transação é determinado pelo componente com maior prioridade. Se vários componentes compartilharem prioridade, o agente usará o primeiro componente que foi chamado.
Prioridade de nomenclatura
A New Relic atribui um nome a cada transação de acordo com a seguinte prioridade, da prioridade mais alta para a mais baixa:
Atributo de solicitação e chamada de API têm a prioridade de nomenclatura mais alta. Se uma transação tiver um atributo de solicitação ou chamada de API, a transação receberá seu nome a partir daí.
Você pode definir o atributo de solicitação a qualquer momento durante a solicitação da web. Se você definir vários atributos durante uma solicitação, o primeiro nome será usado.
Este exemplo define o nome da transação usando um atributo de solicitação no doGet de um servlet:
Você também pode definir o nome da transação chamando o método setTransactionName da API do agente Java. Uma chamada de API tem a mesma prioridade que um atributo de solicitação. Se você definir vários atributos ou fizer várias chamadas de API durante uma solicitação, o nome mais recente será usado.
Se não houver solicitação de atributo ou chamada de API e você estiver usando uma frameworksuportada, a New Relic obterá o nome da transação dos componentes framework .
Após o framework, o agente Java da New Relic utilizará JavaServer Pages (JSPs). Um JSP obtém o nome da transação a partir do nome de sua classe. Por exemplo, se o nome da classe do servlet JSP for org.apache.jsp.ShowBrowser_jsp o nome da transação será ShowBrowser.jsp.
Depois dos JSPs, o agente Java da New Relic usará servlets. Um servlet define o nome da transação a partir de um parâmetro init ou do nome do servlet. O parâmetro init tem prioridade mais alta, portanto, servlets com um parâmetro init têm precedência sobre servlets sem.
O nome do servlet e o parâmetro init são definidos no descritor de implantação. Por exemplo:
Os filtros de servlet têm a prioridade mais baixa. Um filtro obtém o nome da transação de um parâmetro init ou do nome do filtro. O parâmetro init tem uma prioridade mais alta, portanto os filtros com um parâmetro init têm precedência sobre os filtros sem.
O nome do filtro e o parâmetro init são definidos no descritor de implantação. Por exemplo:
O nome do filtro é o valor do elemento filter-name . O parâmetro init é o valor do elemento param-value de um elemento init-param com um elemento param-name de com.newrelic.agent.TRANSACTION_NAME.
A menos que você implemente a chamada de API para nomear sua transação, desabilitar a nomenclatura de transação automática provavelmente causará problemas de agrupamento métrico.