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

Framework PHP : Intégrer le support pour New Relic

Ce document est un suivi de l'IA chez les développeurs ou mainteneurs de framework PHP. Il suggère des moyens d'étendre votre framework en ajoutant la prise en charge de New Relic.

L' agent PHP prend en charge le framework en déterminant où dans le code framework la transaction Web peut être nommée de manière appropriée, et en nommant la transaction Web en fonction des informations trouvées dans la classe, l'appel de fonction, etc. Cette solution est fragile et sujette aux modifications du code par les développeurs. New Relic encourage les développeurs framework à effectuer les quelques appels nécessaires pour améliorer l'expérience utilisateur prête à l'emploi avec le framework qu'ils maintiennent.

Aidez votre utilisateur

New Relic peut identifier le nom Web de la transaction et où insérer les en-têtes et pieds de page JavaScript pour de New Relic. Cependant, pour améliorer l'expérience finale de l'utilisateur, augmenter les performances et faciliter la maintenance du code, les développeurs framework devraient effectuer ce travail eux-mêmes.

Il appartient aux développeurs des différents frameworks de décider s'ils souhaitent aider leur utilisateur en ajoutant un support natif pour New Relic. Dans presque tous les cas, l'ajout de support pour New Relic implique l'insertion de trois appels d'API quelque part dans le code framework .

Terminologie

Afin de comprendre comment ajouter au mieux la prise en charge de New Relic, il est utile de comprendre certains des points clés d'interaction.

Term

Definition

Web transactions

Web transactions sont requests d'actifs (ou des hits d'utilisateurs) sur votre site. Avec le framework, cela est souvent géré par un mécanisme de répartition MVC.

Metrics

Metrics sont des entités nommées qui rapportent des informations de synchronisation. New Relic utilise ces métriques pour générer des graphiques et des pages, telles que la page APM Summary . Par exemple, l'instrument New Relic appelle MySQL et génère des métriques appelées Database/select ou Database/update chaque fois qu'un utilisateur sélectionne ou met à jour des données.

Les Métriques contiennent uniquement des données de synchronisation.

Transaction traces

À chaque période de récolte, New Relic enregistre le Web de transactions le plus lent qui tombe en dessous d'un seuil défini par l'utilisateur. C'est un transaction trace.

Il a plus de détails que de simples métriques. Si cette option est activée, elle inclura un graphique d'appel détaillé indiquant exactement quelles fonctions ont été appelées et combien de temps elles ont pris. Pour les instructions de requête lente, il obscurcit toutes les données de l'appel.

Transactions de nom

La façon dont vous nommez votre site Web de transaction affectera la qualité de l'expérience utilisateur.

Important

N'utilisez pas de crochets [suffix] à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses (suffix) ou d’autres symboles si nécessaire.

Examples:

Si vous disposez d'un framework de type blog, vous nommeriez les différentes transactions en fonction de l'activité de l'utilisateur : display, edit, login, etc.

Si vous utilisez une architecture MVC, la convention de dénomination appropriée est controller/action. N'incluez aucune donnée spécifique à la demande dans le nom de la transaction. Par exemple, l’utilisation de l’URL de requête réelle entraîne des problèmes de regroupement métrique.

Platform

Transaction naming example

Drupal 7

L'envoi se fait en menu_execute_active_handler(). Cela appelle call_user_func_array(), le premier argument étant le nom de l'action. C'est ce qu'il faut définir comme nom Web de transaction.

CakePHP 1.3

CakePHP a une classe Dispatcher avec une méthode _invoke . Cela appelle la classe de contrôleur appropriée avec une action donnée, et la transaction est nommée controller/actioncontroller est le nom de la classe de contrôleur.

Au point où vous souhaitez acheminer le code vers un contrôleur et une action spécifiques (si vous utilisez MVC) ou vers une action (si vous n'utilisez pas MVC), insérez un code similaire à celui-ci :

Controller and action (lors de l'utilisation de MVC) :

if (extension_loaded ('newrelic')) {
newrelic_name_transaction ($controller . '/' . $action);
}

Action only (sans utiliser MVC) :

if (extension_loaded ('newrelic')) {
newrelic_name_transaction ($action);
}

Insérer l'en-tête et le pied de page JavaScript

Pour le timing de chargement de la page (parfois appelé monitoring des utilisateurs réels ou RUM), insérez l'en-tête et le pied de page JavaScript. Cela vous permet de monitorer l'expérience finale de l'utilisateur sur la page générée.

  • Recommandation : si votre framework dispose d'une fonction centrale qui génère tous les en-têtes et pieds de page, installez le code JavaScript ici.
  • Pour les frameworks basés sur des modèles, insérez-les dans vos modèles d'en-tête et de pied de page.
Droits d'auteur © 2025 New Relic Inc.

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