Функции:
Немедленно выясните, в чем проблема.
При входе в Perfino панель управления показывает, всё ли в порядке или что-то идёт не так. Perfino предоставляет вам точный контроль над тем, какой уровень производительности приемлем для вашего приложения.
Панель управления — это место, где вы начинаете углубляться в более детальные представления данных.
Отображение звонков между виртуальными машинами
Perfino может отслеживать бизнес-транзакции, охватывающие несколько виртуальных машин. Вызов на веб-уровне, который затем поступает на EJB-сервер и далее к веб-сервису — в Perfino эти операции связаны, даже при выборке на уровне методов.
Граф вызовов показывает не только общую картину того, что происходит сейчас, но и то, что происходило в прошлом.
Реагировать на нештатные ситуации
Когда что-то серьезно не так, вы хотите действовать: создавать оповещения, отправлять электронные письма или собирать более подробные данные. В perfino вы используете триггеры и действия для настройки стратегий реагирования на чрезвычайные ситуации.
Реализация сценария, подобного «Когда бизнес-транзакция зависает, сделать дамп потоков и отправить его мне на электронную почту», очень проста в пользовательском интерфейсе perfino.
Телеметрия повсюду
Телеметрические данные в Perfino фиксируют важные скалярные значения в отслеживаемых виртуальных машинах, такие как количество операций с базой данных в минуту.
В виде спарклайнов на панели мониторинга и в представлении виртуальных машин они позволяют мгновенно оценить текущие тенденции, а в полноэкранном режиме отображают данные за период с самого начала. Телеметрические данные никогда не отбрасываются, а только преобразуются в более высокое разрешение.
Сверхгибкие деловые операции
Perfino автоматически обнаруживает широкий спектр бизнес-транзакций из таких подсистем, как контейнеры сервлетов, EJB или вызовы RMI. Кроме того, он предлагает несколько способов превратить любой вызов метода в бизнес-транзакцию.
Выбор метода — явное указание POJO-методов в пользовательском интерфейсе Perfino, указание на важную аннотацию или использование API для создания транзакций в собственном коде — зависит от того, что для вас наиболее практично.
Дерево вызовов бизнес-транзакций
В Perfino транзакции организованы в виде сводного дерева вызовов — точно так же, как вы знаете из своего любимого профилировщика. Уровень детализации зависит от вас — он определяется тем, что вы настроите как бизнес-транзакции.
Нарушения политик, такие как очень медленные транзакции, отображаются в дереве вызовов отдельно, поэтому вы можете анализировать их изолированно. Perfino также сопоставляет бизнес-транзакции на сервере со временем загрузки страниц в браузере.
Производительность баз данных и узкие места
Операции с базами данных, такие как JDBC-запросы или запросы к MongoDB и другим NoSQL-базам данных, являются первоклассными в Perfino.
Когда вы задаете вопрос: «Какой SQL-запрос в моем приложении самый медленный?», Perfino предоставляет ответ вместе с накопленными трассировками стека, указывающими на бизнес-транзакции, ответственные за эти запросы.
Метод выборочного контроля
Для исследования внутренней структуры вызовов и проблемных мест на уровне методов бизнес-транзакций Perfino выполняет периодическую выборку на уровне методов для каждой транзакции.
Для медленных и очень медленных транзакций можно настроить автоматическую выборку на уровне методов. Во многих случаях эти выборки позволяют немедленно объяснить проблемы с производительностью, не связанные с базами данных.
Исторические сравнения
Возможность сравнивать производительность в разные моменты времени важна, особенно для гибких систем управления релизами.
С Perfino вы можете просматривать данные за неограниченный период времени, сравнивая отдельные бизнес-транзакции или целые деревья вызовов — ваши данные накапливаются за более крупные временные интервалы по мере истечения времени. Функция сравнения встроена непосредственно в представления, которые вы используете для просмотра данных.
Переход к профилированию
Многоуровневая защита — это стратегия, применимая ко многим жизненным ситуациям.
Когда на кону стоит ваш бизнес, иногда вам нужны все доступные инструменты, и именно поэтому Perfino может обеспечить встроенную выборку JVMTI и даже подготовить виртуальную машину для подключения к JProfiler. Таким образом, когда вам понадобятся все возможности профилировщика, они будут у вас под рукой.