• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Nommage automatique application

Les noms que vous donnez à votre application peuvent vous aider à organiser vos métriques de performances New Relic .

L'agent Java de New Relic signale toutes les transactions et autres métriques dans une seule au JVM application nom spécifié dans newrelic.yml sous le paramètre app_name (pour plus d'informations sur la application dénomination, voir Nommez votre Java application). En changeant enable_auto_app_naming dans newrelic.yml en true, l'application sera nommée en fonction de son contexte, de son filtre, de son servlet ou de son attribut de requête.

Ce paramètre vous permet d'exécuter plusieurs applications Web dans une seule JVM tout en signalant les transactions, les erreurs et les métriques à d'autres applications appropriées dans l'utilisateur de l'interface New Relic . Les tâches en arrière-plan utiliseront toujours le nom d’application par défaut de newrelic.yml.

Important

Ces modifications de configuration nécessitent un redémarrage de la JVM pour prendre effet.

Cette configuration ne fonctionne PAS avec Infinite Tracing activé.

Prudence

L'activation de la dénomination automatique des applications augmentera la quantité de données ingérées par l'agent. Il existe différentes méthodes pour alerter et monitorer l'ingestion de données.

Sources des noms d'application

Lorsque vous définissez enable_auto_app_naming sur true, New Relic utilise les sources d’informations suivantes pour nommer votre application :

App type

Naming source

Tâches d'arrière-plan

Le nom de l'application par défaut de newrelic.yml

transaction web

Par ordre de priorité :

  • Attribut de la demande (priorité la plus élevée)
  • Paramètre d'initialisation du servlet
  • Paramètre d'initialisation du filtre
  • Paramètres de contexte de l'application Web
  • Nom du contexte de l'application Web (nom d'affichage)
  • Chemin de contexte de l'application Web (priorité la plus basse)

Demande d'attribut

L'attribut de requête APPLICATION_NAME a priorité sur tous les paramètres du XML. Définissez cet attribut le plus tôt possible dans le Web de transaction. Si elle est appelée plusieurs fois, la dernière invocation détermine le nom de l'application.

Conseil

APPLICATION_NAME fonctionne uniquement avec ServletRequests.

Pour utiliser l'attribut de demande pour une dénomination d'application précise en fonction de l'URI de la demande :

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
String requestUri = httpServletRequest.getRequestURI();
if (requestUri.startsWith("/my-special-request/")) {
request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MySpecialWebApp");
}
...

Paramètre d'initialisation du servlet

Pour définir le nom de l'application pour les servlets individuels dans web.xml à l'aide de init parameters:

<servlet>
<servlet-name>SqlServlet</servlet-name>
<servlet-class>test.SqlServlet</servlet-class>
<init-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyServletApp</param-value>
</init-param>
</servlet>

L'agent obtient la valeur de init-param en appelant

javax.servlet.ServletConfig#getInitParameter(String)

avec l'argument com.newrelic.agent.APPLICATION_NAME.

Si une requête Web appelle plusieurs servlets, le init-param du premier servlet à se terminer a la priorité. Un servlet qui n’a pas de init-param utilise le nom d’application par défaut pour l’application Web.

En plus de déclarer le nom de l'application en XML, vous pouvez également le définir dans le code de votre application en stockant un attribut dans le javax.servlet.ServletRequest:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MyWebApp");
...

Paramètre d'initialisation du filtre

Si votre application Web ne dispose pas de servlets, vous pouvez utiliser un paramètre init pour un filtre :

<filter>
<filter-name>SqlFilter</filter-name>
<filter-class>test.SqlFilter</filter-class>
<init-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyFilterApp</param-value>
</init-param>
</filter>

L'agent obtient la valeur de init-param en appelant javax.servlet.FilterConfig#getInitParameter(String) avec l'argument com.newrelic.agent.APPLICATION_NAME. Les servlets ont la priorité sur les filtres pour la dénomination application, donc le paramètre init d'un filtre n'est utilisé que si aucun servlet n'a été invoqué. Le init-param du premier filtre à terminer a la priorité.

Paramètres de contexte

Pour utiliser un paramètre de contexte pour définir le nom de l’application :

<context-param>
<param-name>com.newrelic.agent.APPLICATION_NAME</param-name>
<param-value>MyWebApp</param-value>
</context-param>

L'agent obtient la valeur du paramètre de contexte en appelant javax.servlet.ServletContext#getInitParameter(String) avec l'argument com.newrelic.agent.APPLICATION_NAME. Le paramètre de contexte a priorité sur l'élément display-name .

Nom d'affichage

Pour déterminer le nom de l'application en utilisant l'élément display-name dans web.xml:

<display-name>MyWebApp</display-name>

L'agent obtient la valeur de l'élément display-name en appelant javax.servlet.ServletContext#getServletContextName().

Chemin de contexte

S'il n'y a pas d'élément display-name et qu'aucune des autres méthodes de hiérarchie supérieure n'est utilisée pour définir le nom de l'application, le nom de l'application provient du chemin de contexte de l'application Web. L'agent obtient le chemin de contexte en appelant javax.servlet.ServletContext#getContextPath().

Le chemin de contexte est la partie de l'URI de la demande qui est utilisée pour sélectionner le contexte de la demande. Le chemin de contexte vient toujours en premier dans un URI de requête. Par exemple:

Considérez l’URL suivante :

http://example.com/newrelic-axis2-ws/getWeather

Dans cette URL :

  • L'URI de la demande est /newrelic-axis2-ws/getWeather.
  • Le chemin de contexte est /newrelic-axis2-ws.
  • L'application est nommée newrelic-axis2-ws.
Droits d'auteur © 2025 New Relic Inc.

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