Syntaxe
newrelic_set_error_group_callback($callback)
Regroupez les erreurs avec votre propre fonction de rappel d'empreintes digitales personnalisée.
Exigences
Version de l'agent 10.12 ou supérieure.
Description
Cette API permet à un utilisateur d'enregistrer une fonction de rappel personnalisée auprès de l'agent PHP qui sera appelée lorsque l'application rencontre une erreur.
Le rappel fournira deux éventails PHP de l' agent - l'un contenant des données de transaction et l'autre contenant des données d'erreur.
À l'aide des informations de contexte fournies, le rappel doit renvoyer une chaîne non vide basée sur une logique définie par l'utilisateur qui servira de nom de groupe d'erreurs affiché dans Errors Inbox UI l' de la .
Important
Lorsqu'il y a plusieurs appels à cette fonction dans une seule transaction, l'agent PHP conserve uniquement le rappel du dernier appel.
les rappels sont enregistrés sur demande. Cette API doit être appelée dans un chemin de code dont l'exécution est garantie pour chaque requête, sinon le rappel ne sera pas invoqué.
Il est fortement recommandé de garder votre fonction de rappel aussi minimale que possible. Les rappels gourmands en CPU (tels que les appels de base de données) ou toute autre logique complexe entraîneront des impacts sur les performances de votre application.
Paramètres
Cette API accepte un seul rappel de type fonction comme argument. Le rappel fourni doit accepter 2 paramètres.
Paramètres de API | Description |
---|---|
| Requis. Fournir une fonction de rappel qui sera enregistrée auprès de l'agent PHP. |
rappel paramètres | Description |
---|---|
| Requis. Un éventail de données de transaction fournies à votre rappel par l' agent PHP. |
| Requis. Un éventail de données d'erreur fournies à votre rappel par l' agent PHP. |
éventail valeur clé paires
$transaction_data
- Données de transaction de l'agent PHP fournies à votre rappel
Clé | Valeur |
---|---|
"request_uri" | (chaîne) URI de la demande |
"chemin" | (chaîne) Chemin de fichier |
"méthode" | (chaîne) Méthode HTTP ( |
"status_code" | (int) Code d'état HTTP ( |
$error_data
- Données d'erreur de l'agent PHP fournies à votre rappel
Clé | Valeur |
---|---|
"classe" | (chaîne) Nom de la classe |
"message" | (chaîne) message d'erreur |
"déposer" | (chaîne) Chemin de fichier |
"stack" | (chaîne) tracede suivi d'erreur JSON |
Important
- Il n’est pas garanti que toutes les clés contiennent des valeurs. Cela dépend fortement de l’application utilisateur et de la nature de l’erreur.
- Les clés éventail seront toujours définies, qu'elles contiennent ou non des valeurs vides.
Valeurs de retour
L'API renvoie true
si le rappel est enregistré avec succès, sinon false
.
Exemples
if (extension_loaded('newrelic')) { // Ensure PHP agent is available $callback = function(array $transaction_data, array $error_data) { $fingerprint = "";
// // Add custom code to parse array data //
// Example code if ($error_data["klass"] == "E_USER_ERROR") { $fingerprint = "USER ERROR"; };
return $fingerprint; // Non-empty string error group name };
newrelic_set_error_group_callback($callback);};