L'agent PHP de New Relic de inclut la prise en charge de la dénomination automatique des transactions pour les éditions Community et Enterprise de Magento 1 et 2. Ce document décrit comment cela fonctionne et comment vous pouvez utiliser les noms automatisés pour suivre les problèmes sur votre Magento.application
Magento 1
Les transactions dans l'application Magento 1 sont nommées en fonction du module, du contrôleur et de l'action qui gèrent la demande. Par exemple, une transaction pour la page de compte client par défaut sera nommée customer/account/index
, ce qui indique que la méthodeindexAction()
dans Mage_Customer_AccountController
(le contrôleur account
dans le module customer
) était responsable de la transaction.
Magento 2
Les transactions Web normales dans l'application Magento 2 sont nommées de manière similaire aux transactions Magento 1 : le nom de la transaction encode le module, le contrôleur et l'action qui ont traité la demande. Par exemple, une requête gérée par la classe de contrôleur Magento\Customer\Controller\Account\Index
sera également nommée customer/account/index
.
API Web
Magento 2 inclut également une prise en charge intégrée des API Web. Il s'agit de services Web mis à disposition via REST et SOAP.
À partir de la version 7.0 de l'agent PHP, New Relic prend en charge la dénomination automatique des transactions qui utilisent cette fonctionnalité. Les versions précédentes de l'agent PHP nommaient les transactions API Web comme unknown
par défaut.
Magento 2 web APIs | Comments |
---|---|
SAVON | Les transactions SOAP sont nommées en fonction de la classe de service et de la méthode qui ont traité la demande. Par exemple, le nom de transaction Les transactions WSDL sont également nommées automatiquement : |
REPOS | À partir de Magento 2.1, les transactions REST sont nommées de la même manière que les transactions SOAP . La seule différence est que requests REST sont préfixées par Sur Magento 2.0, l'agent PHP n'est pas en mesure de nommer automatiquement la classe de service et la méthode spécifiques qui ont géré la transaction. Au lieu de cela, requests REST reçoivent actuellement le nom générique |
Plugins FrontControllerInterface
Il est possible dans Magento 2 d'enregistrer un plugin ou un intercepteur pour l'interface Magento\Framework\App\FrontControllerInterface
pour remplacer le moteur de routage par défaut. Par exemple, voici comment fonctionne la fonctionnalité API Web .
Si un intercepteur est enregistré pour Magento\Framework\App\FrontControllerInterface
, le nom de cette classe sera utilisé comme nom de transaction par défaut lors de l'utilisation de l'agent PHP de New Relic version 7.0 ou supérieure. Vous pouvez également utiliser newrelic_name_transaction()
pour la dénomination manuelle si nécessaire.
Échapper à la dénomination automatique des transactions
Si la dénomination automatique des transactions n'est pas utile, vous pouvez remplacer la dénomination automatique des transactions de l'agent PHP en utilisant la fonction API newrelic_name_transaction()
.