Description
Description
In recent years Magento has introduced controller decomposition to provide a performance boost, wherein the controllers are suggested to no more inherit the Magento\Framework\App\Action\Action
class for frontend controllers.
The Action class has been marked deprecated. However, the classes in the core haven't been updated to new recommendations.
But as a developer, if we use the recommended approach (to gain performance), NR doesn't identify them as distinct transactions and rolls all of them to as WebTransaction/Action/FrontController/Magento\Framework\App\FrontController\Interceptor
. Hence making the NewRelic transaction monitoring ineffective.
Steps to Reproduce
- Create a custom module in Magento
- Add 2 Controller classes with different implementations, one that extends the deprecated class and the other with an interface approach (as recommended in the decomposition article)
- Hit the URLs multiple times to trigger NewRelic monitoring
- Head to NRQL and execute a query similar to the one below and check for the transaction names
SELECT timestamp, appName, name, request.uri from Transaction WHERE appName ='some_app_name' and request.uri like '%common_controller_name%'
Expected Behavior
Each controller action is listed distinctly in the transactions.
Relevant Logs / Console output
Your Environment
- ex: Browser name and version:
- ex: Operating System and version: