Способ, которым New Relic называет транзакции Zend, заключается в подключении к Zend_Controller_Plugin_Broker::routeShutdown()
и рассмотрению различных методов в одном аргументе, который получает эта функция, которая является запросом. Этот параметр должен быть классом, который имеет несколько методов: getModuleName()
, getControllerName()
и getActionName()
. Агент PHP ожидает, что сможет вызвать все эти функции в запросе.
Если вы настроили свою установку фреймворка Zend, вам может потребоваться присвоить имя вашей транзакции вручную. В этом случае в вашем файле PHP INI установите newrelic.framework = "none"
и в соответствующем месте вашего маршрутизатора вызовите newrelic_name_transaction()
. Вы можете избежать этого, указав, почему ваш объект запроса не имеет этих стандартных функций.
Возможная причина, по которой это может произойти, состоит в том, что у вас есть неполный перегруженный плагинов-маршрутизатор.
Более подробную информацию об этом API вызова, а также другие могут быть найдены в Нью-Relic KB:
https://newrelic.com/docs/php/new-relic-for-php
Я не вижу вопрос здесь. Что вы пробовали? Покажите нам какую-то работу. –
Как я могу это решить? – sbarrat
Ну, хороший первый шаг будет для Google проблемой, затем пройти трассировку стека и так далее. –