У меня есть портал, созданный с помощью Symfony 3.4 и Sonata Admin.
В конкретной админке много сгенерированные запросы. Я использовал профилировщик, чтобы отследить их, но я не вижу где, которые они сгенерировали:
Один и тот же запрос повторяется много раз с разными идентификаторами:
Есть ли способ понять где они генерируются? Я видел этот пост, и сейчас это кажется невозможным:
https://github.com/doctrine/DoctrineBundle/issues/722
Разве я не могу просто перетащить dump/die где-нибудь в профилировщик, чтобы получить конкретную строку?




Это непростая задача, но я думаю, что вы можете получить некоторые подсказки с помощью информации журнала отладки, запросов доктрины и шкалы времени выполнения.
На временной шкале вы можете видеть, когда доктрина выполняет запрос, а с помощью информации из Doctrine и отладки вы можете объединить время выполнения и выполненный запрос.
Я надеюсь, что эта информация может вам помочь
Похоже, что нет простого способа отслеживать инициаторов запросов, но я нашел следующий пост, объясняющий, почему вы можете увидеть несколько похожих запросов: Doctrine2 в Symfony2: Как я могу увидеть, какой объектный вызов ведет к запросу?
Я только что нашел этот плагин, который делает именно то, что мне нужно:
https://github.com/VincentChalnot/DoctrineDebugBundle
Кажется, он работает нормально, и он показывает трассировку стека из запроса.
Начиная с v1.11.0, Комплект доктрины может отображать обратную трассировку запроса в Symfony Profiler. Это может быть полезно для определения того, какой код вызвал выполнение конкретного запроса.
Эта функция отключена по умолчанию, но вы можете включить ее, используя конфигурацию profiling_collect_backtrace в настройках подключения к доктрине.
См. https://symfony.com/blog/new-in-doctrinebundle-1-11-0#store-backtraces-when-profiling-queries для получения дополнительной информации.