• /
  • 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

Envoi des erreurs traitées à New Relic

Pour envoyer les données d'erreur que vous gérez dans votre propre code à New Relic, utilisez l'appel Ruby API de l'agent NewRelic::Agent.notice_error dans votre gestionnaire d'erreurs.

Informez la New Relic Ruby

Cet appel d'API prend l'exception et une option hacher. Utilisez ce format :

NewRelic::Agent.notice_error(exception, options = { })Object

Cette fonction enregistre l'erreur donnée et la transmet via le processus de filtrage des erreurs normal, y compris l'ignorance des erreurs basée sur la configuration et la méthode globale #ignore_error_filter si elle est définie.

Le exception est l'exception à enregistrer, ou un message d'erreur. Si nécessaire, vous pouvez également inclure options = { }. Les paramètres suivants recevront un traitement spécial et tous les autres paramètres que vous fournirez seront traités comme des paramètres personnalisés.

options = { }

Comments

:expected

Enregistre uniquement la trace d'erreur. Cela n’affecte pas le taux d’erreur ni le statut Apdex. Pour plus d'informations sur les erreurs attendues dans l'UI, consultez Afficher les erreurs attendues.

Remplace l'option :trace_only , qui était obsolète dans la version 4.3.x de l'agent Ruby .

:custom_params

Paramètres personnalisés.

:uri

Le chemin de la requête, moins les paramètres de requête ou la chaîne de requête.

Généralement pas nécessaire. N'incluez ceci que si vous appelez notice_error en dehors d'une transaction.

:metric

Le nom de la métrique associé à la transaction.

Généralement pas nécessaire. N'incluez ceci que si vous appelez notice_error en dehors d'une transaction.

:request_params (obsolète)

Les anciennes versions de l'agent Ruby permettaient de transmettre une option :request_params , mais celles-ci sont désormais ignorées. Si vous devez enregistrer les paramètres de la demande, appelez cette méthode dans une transaction ou transmettez les informations dans :custom_params.

Empreintes d'erreur : appliquer dynamiquement un groupe d'erreurs à chaque erreur constatée

Vos occurrences d’erreurs sont-elles mal regroupées ? Définissez votre propre empreinte d’erreur via une fonction de rappel.

Un rappel basé sur Proc peut être fourni à l'agent pour appliquer dynamiquement un groupe d'erreurs souhaité à chaque erreur détectée. Utilisez l'API Ruby de l'agent NewRelic::Agent.set_error_group_callback pour fournir à l'agent un rappel.

Cet appel d'API prend une méthode rappel (doit être de type Proc) comme seul argument. L'argument est obligatoire. L'appel d'API ne doit être effectué qu'une seule fois par lancement de l'agent Ruby New Relic , l'appel peut donc être placé dans un initialiseur Rails ou similaire. Si des appels ultérieurs à l'API sont effectués, la méthode de rappel sera mise à jour avec la plus récente fournie. Voici un exemple de rappel défini et transmis à la méthode API NewRelic::Agent.set_error_group_callback :

proc = proc { |hash| "Access" if hash[:'http.statusCode'] == 401 }
NewRelic::Agent.set_error_group_callback(proc)

Dans l'exemple illustré, un processus de rappel est créé qui acceptera un hacher comme seul argument, puis renverra la chaîne « Access » pour le nom du groupe d'erreurs souhaité si le hacher contient une clé de code d'état HTTP avec une valeur de 401.

Le processus de rappel est censé recevoir exactement un argument d'entrée, un hacher. Le hacheur contient les éléments suivants :

Key

Value

:error

L'instance de classe d'erreur Ruby. Offres #class, #message et #backtrace

:customAttributes

Tout attribut personnalisé pour la transaction en cours

:'request.uri'

L'URI de la requête actuelle si disponible

:'http.statusCode'

Le code d'état HTTP (200, 404, etc.) s'il est disponible

:'http.method'

La méthode HTTP (GET, PUT, etc.) si disponible

:'error.expected'

Que l'erreur était attendue (vrai) ou non (faux)

:'options'

Les options que Hacher a transmises à NewRelic::Agent.notice_error

La procédure de rappel est censée renvoyer une chaîne représentant le nom du groupe d'erreurs souhaité s'il peut être déterminé. Si la procédure renvoie une chaîne nil ou vide (''), l'erreur recevra une logique de regroupement côté serveur.

Suivi des utilisateurs : associer un identifiant utilisateur à chaque transaction et erreur

Vous pouvez maintenant voir le nombre d'utilisateurs impactés par un groupe d'erreurs.

Les transactions et les erreurs peuvent être associées à un identifiant d'utilisateur si celui-ci est connu de l'agent Ruby New Relic. Utilisez l'API Ruby de l'agent NewRelic::Agent.set_user_id pour fournir à l'agent un ID utilisateur.

Cet appel d'API nécessite un seul argument d'une chaîne représentant un identifiant unique pour un utilisateur final. Cette chaîne peut être un UUID, un identifiant de base de données ou similaire. L'appel d'API doit être effectué au moins une fois par transaction pour informer l'agent Ruby New Relic de l'ID d'utilisateur auquel associer la transaction. Ensuite, lorsque l’agent remarque des erreurs pendant la durée de vie de la transaction, les erreurs porteront un attribut d’agent enduser.id qui contient la valeur de l’ID utilisateur.

Étant donné que l’API est destinée à être appelée chaque fois qu’un nouvel ID utilisateur entre dans le champ d’application, elle sera idéalement appelée via un middleware prenant en compte la création de session utilisateur. Une fois que l'agent Ruby New Relic a pris connaissance de l'ID utilisateur, il fournira l'attribut d'agent enduser.id sur la transaction en cours ainsi que sur toutes les erreurs constatées pendant la durée de vie de la transaction en cours.

Suivi des versions : utilisez les métadonnées pour voir quelle version a produit une erreur

La boîte de réception des erreurs suivra automatiquement les versions de votre logiciel qui génèrent des erreurs. Toutes les données de version seront également affichées dans CodeStream.

Définissez l’une des variables d’environnement suivantes pour vous aider à identifier les versions de votre logiciel qui génèrent des erreurs.

  • NEW_RELIC_METADATA_SERVICE_VERSION ajoute l'attribut tags.service.version sur l'événement d'erreur data contenant la version de votre code qui est déclenchée, souvent une version sémantique telle que 1.2.3, mais pas toujours.
  • NEW_RELIC_METADATA_RELEASE_TAG ajoute l'attribut tags.releaseTag sur les données d'événement contenant la tag de sortie (telle que v0.1.209 ou release-209).
  • NEW_RELIC_METADATA_COMMIT ajoute l'attribut tags.commit sur les données d'événement contenant le commit sha. Vous pouvez utiliser le sha entier ou seulement les sept premiers caractères (par exemple, 734713b).
Droits d'auteur © 2025 New Relic Inc.

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