Как мне прочитать пользовательский интерфейс qcachegrind?

я использую qcachegrind просмотреть журнал профиля, созданный Xdebug, Я могу нормально просматривать файл, но понятия не имею, на что я смотрю.

Я пробовал Google, но я просто продолжаю получать руководства по установке, ничего о том, как понять дисплей.

  1. Что показанный ниже qcachegrind показывает мне о моем приложении
  2. Есть ли что-нибудь еще, что я могу просмотреть из этого файла, или это все доступные данные?

(пожалуйста, откройте изображение в новой вкладке для лучшего просмотра)


введите описание изображения здесь

17

Решение

Такие инструменты, как qcachegrind и kcachegrind, визуализируют вывод профилировщика PHP Xdebug. Выходные данные профилировщика — это практически журнал всех вызовов функций PHP с соответствующим временем запуска, временем выполнения и иерархией.

Типичный вид показан на следующем рисунке:

Laravel App

С левой стороны находится «Плоский профиль». В нем перечислены все отдельные вызовы функций от самых трудоемких до наименее трудоемких. «Вкл.» столбец показывает время, затраченное функцией, включая вызываемых абонентов. Столбец «Self» показывает время, потраченное функцией, исключая вызываемых абонентов. Столбцы «Вызывается» и «Функция» показывают соответственно количество вызовов функции и имя (плюс пространство имен) функции.

На правой стороне, различные представления доступны для визуализации звонящих и вызываемых абонентов. Вызывающие и вызывающие абоненты соответствуют функции, выбранной слева.

На моем скриншоте вверху открыта «Карта Калли». Каждый прямоугольник является вызовом функции в выбранной функции (вызываемый объект), а каждый прямоугольник внутри является вызываемым объектом вызываемого. Размер соответствует относительному ‘Incl’. время.

Внизу в представлении «Все посетители» отображаются вызываемые абоненты с выбранным порядком функций по любому выбранному вами свойству.

Более подробный вид показан ниже:

Абоненты и абоненты

Это функция базы данных Laravel, отсортированная по времени «Self». Вы ясно видите, как соотносятся различные вызовы функций и какая функция занимает больше всего времени: PDOStatement :: execute. Это не удивительно, так как это функция, которая подключается к внешней базе данных, запрашивает ее и ожидает результата.

Вернуться к исходному скриншоту. Это говорит вам о том, что ваше приложение потратило много (много) времени в PHP session_start функция. Это показывает 99,8% собственного времени.

18

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]